gpt4 book ai didi

javascript - JavaScript 对象中的事件处理

转载 作者:行者123 更新时间:2023-11-30 08:52:47 26 4
gpt4 key购买 nike

我用这样的设计模式创建了某种 JavaScript 对象:

var MyObject = (function(){

var element;
var config = {
// Defaults...
};

function initialize(id, options){
element = $(id);
config = $.extend(config, options);
}

function method(){
// Some code...
}

element.on('click', function(){
// Some actions when clicked on element...
});

return {
initialize: initialize,
// Other public methods...
};

})();

这就是对象的初始化方式:

MyObject.initialize('#someId');

脚本运行良好,但是当我尝试为 element 添加一些事件时出现错误。正如我所意识到的,一个匿名函数 (function(){ ... })(); 被立即执行,但是变量 element 的初始化紧随其后。

那么,我怎样才能准确地为这个 JavaScript 对象模式实现事件处理呢?

谢谢!

最佳答案

您应该在 initialize 函数中调用 on。由于外部函数立即执行(正如您自己意识到的那样),elementundefined。所以你应该只在定义变量之后调用 on :

function initialize(id, options){
element = $(id);
element.on('click', function() {
...
});

config = $.extend(config, options);
}

关于javascript - JavaScript 对象中的事件处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16307818/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com