问题描述
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());
1楼
尝试这个:
$('#'+prop.id).find("button[type='"+button.type+"']").click(function(){
console.log('event click called');
});
2楼
在第二个示例中,您没有为click事件分配功能,而是分配了调用功能的结果。 尝试从末尾删除2个括号
.click(button.click());
至:
.click(button.click);
之后,尝试仅运行.find语句以查看jQuery是否返回您的按钮:
$('#'+prop.id).find("button[type='"+button.type+"']")
如果不是,我怀疑您的按钮[type = close]不正确