jQuery方法$ .on返回什么?
示例:
$(document).on("CustomEvent", CustomFunction);
答案 0 :(得分:2)
jQuery方法$ .on返回什么?
$(document).on(...)
返回$(document)
创建的jQuery对象。这使得它可链接,如:
$(document).on("click", clickHandler).on("hover", hoverHandler);
事实上,所有没有返回特定值的jQuery方法都会返回jQuery对象,因此它们可以以这种方式链接。
另一个常用的例子:
$("#target").fadeIn(2000).delay(5000).fadeOut(2000);
但是,具有特定返回值的方法(例如.prop()
或.attr()
)将返回该特定值:
var isChecked = $("#myCheckbox").prop("checked");
var imgSrc = $("#myImg").attr("src");
文档中列出了任何jQuery API的返回值(这里是doc page for .on()
的屏幕截图:
如果您想阻止再次调用事件处理程序,可以使用.one()
只触发事件一次,或者您可以使用.off(...)
根据需要删除事件处理程序可以在你自己的代码中使用某种标志来告诉事件处理程序它是否应该完成它的工作。
防止重复调用由.load()
触发的内容的最干净的架构解决方案是将事件处理程序设置代码移动到Javascript的其他区域,以便.load()
不再加载它由父页面加载一次。这样它只被调用一次。究竟如何做到这一点取决于你没有透露的设计的具体情况,所以我们不能提供更具体的建议。
答案 1 :(得分:0)
使用jquery .load导致页面中的一些重复操作。如果我没有错,你必须在#34;承诺"
中调用你的回调函数例如
$(document).on("click", ".someClass", function () {
//do something
}).promise().done(function() {
//your callback function
});
});