var el = createWindow(WindowContent, {
"id": window.id,
"titleBar": {
"enabled": true,
"titleButtons": [
{
"type": "close",
click : function(){ //function
window.close();
}
}
]
}
});
function createWindow(el, prop){
...
if(prop.titleBar.titleButtons.length !== undefined){
for(var i = 0; i < prop.titleBar.titleButtons.length; i++){
button = prop.titleBar.titleButtons[i];
console.log(button);
$('#'+prop.id).find("button[type='"+button.type+"']").click(button.click);
}
}
}
如何将prop对象的click函数添加到我的按钮? 它什么都不做。
$('#'+prop.id).find("button[type='"+button.type+"']").click(button.click());
我收到错误因为button.click不是函数
使用$('#'+prop.id).on("click", "button[type='"+button.type+"']", button.click);
代替$('#'+prop.id).find("button[type='"+button.type+"']").click(button.click());
答案 0 :(得分:2)
试试这个:
$('#'+prop.id).find("button[type='"+button.type+"']").click(function(){
console.log('event click called');
});
答案 1 :(得分:1)
在第二个示例中,您没有为click事件分配函数,而是调用函数的结果。尝试从
中删除最后的两个括号.click(button.click());
要:
.click(button.click);
之后,尝试只运行.find语句,看看jQuery是否返回了你的按钮:
$('#'+prop.id).find("button[type='"+button.type+"']")
如果没有,我怀疑你的按钮[type = close]不正确