【发布时间】:2015-01-12 23:02:21
【问题描述】:
我创建了一个示例案例:
$(function(){
function ping (){
alert( "function fired" );
console.log("fired");
}
console.log($("input#one")[0]);
$("input#one")[0].addEventListener("change", ping);
$("input#one").trigger("change");
$("input#two").on("change", ping);
$("input#two").trigger("change");
});
似乎使用 jQuery,您无法通过 addEventListener 调用“触发”和应用事件。是否有一个原因?我的想法是,由于 trigger 是一个 jquery 方法,它只扫描 jQuery 对象以查找处理程序,而不是实际应用于对象的内容。
我觉得触发器应该针对所有适用的事件触发,无论它们是通过on 还是addEventListener 添加的。也许它正在时间帧 X 拍摄代码快照,并将其存储在 jquery 对象中。我不确定。
也许其他人比我更有洞察力?
【问题讨论】:
-
@Shomz,您只是在调用
window.alert(),但不返回任何回调函数。 -
@haim770 对,完全错过了,谢谢!
标签: javascript jquery