gpt4 book ai didi

javascript - 如何访问事件对象?

转载 作者:行者123 更新时间:2023-11-28 12:41:10 25 4
gpt4 key购买 nike

我有一个与此类似的 JavaScript 对象:

var MyClass;
MyClass = (function() {

// private
var $elems;

// constructor
function MyClass(selector) {
$elems = $(selector);
$elems.change(myEventHandler(e));
}

// event handler
function myEventHandler(e) {
var isSelected = ($(e.target).attr('checked') == 'checked');
if (isSelected) {
alert('You selected me');
}
}

return MyClass;

})();

我在我的 html 文档中这样调用这个类:

$(function(){ 

var myClass;
myClass = new MyClass(".MySelector");

});

这给了我错误:

Uncaught ReferenceError: e is not defined MyClassJsFile.js:17
MyClass MyClassJsFile.js:17
(anonymous function) Step3:36
f.extend._Deferred.e.resolveWith jquery.min.js:16
e.extend.ready jquery.min.js:16
c.addEventListener.B

我认为我正在将事件对象传递给构造函数的这一行中的事件处理程序:

$elems.change(myEventHandler(e));

在这种情况下如何正确传递事件?

最佳答案

您正在使用 undefined variable 调用事件处理程序。事件处理程序是函数,因此只需传递函数引用而不调用它:

$elems.change(myEventHandler);

关于javascript - 如何访问事件对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12150123/

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