当前位置: 代码迷 >> JavaScript >> 向按钮添加点击功能
  详细解决方案

向按钮添加点击功能

热度:96   发布时间:2023-06-07 11:48:36.0
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());

尝试这个:

$('#'+prop.id).find("button[type='"+button.type+"']").click(function(){
   console.log('event click called');
 });

在第二个示例中,您没有为click事件分配功能,而是分配了调用功能的结果。 尝试从末尾删除2个括号

.click(button.click());

至:

.click(button.click);

之后,尝试仅运行.find语句以查看jQuery是否返回您的按钮:

$('#'+prop.id).find("button[type='"+button.type+"']")

如果不是,我怀疑您的按钮[type = close]不正确

  相关解决方案