函数未被调用,使用jquery.delete
function not being called, using jquery .delegate
我想使用jquery委托来调用一个函数,这很好:
$("body").delegate("div", "mouseover", function(){
alert("it works");
});
但我也希望能够在其他地方使用相同的功能。因此,与其多次编写相同的函数,我可以单独声明它,并按名称调用它,对吧?
但这样写,我从来没有看到过警报。
function alertMe(){
alert("it works");
};
$("body").delegate("div", "mouseover", alertMe());
在定义委托时删除括号。只需将函数名称命名为
$("body").delegate("div", "mouseover", alertMe);
jQuery .delegate
已被.on方法取代。我建议您更改代码以使用它。
function alertMe(){
alert("it works");
}
$("body").on("mouseover", "div", alertMe);
//$("body").delegate("div", "mouseover", alertMe) -- old method
//Note the change in postion of selector and event
最好这样做:
$("body").delegate("div", "mouseover", function(){
alertMe();
//plug more code down here
});
它的优点主要有:
- 如果你想在活动结束后做其他事情,只需添加它
- 您可以调用此表单中的更多函数(而不是单个
alertMe()
)
创建通用事件处理程序很容易
function alertMe(event){
//you also need to include the event object, for various actions like stopPropagation()
alert("it works");
};
$("body").delegate("div", "mouseover", alertMe);
相关文章:
- 如何使用jQuery自动打开页面上的所有链接
- 如何使用jquery在填充自动完成的值后使文本框只读
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何在Angular2中使用jQuery插件
- 如何使用jQuery选择下拉列表的值
- 使用JQuery解析JSON嵌套数组
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何使用jquery处理php循环通过元素
- 使用jquery将mysql数据获取到新的表行中
- 如何使用jquery Validation验证Formspread
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 使用jQuery动态添加表并在其中动态添加行
- 使用jquery在单击时在单元格中输入值
- 如何使用jQuery在动画中期加速动画
- 如何使用jquery强制一个单词更改大小写等以保留品牌
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- 使用JQuery的动态上下文菜单
- 使用jQuery以红色和黑色闪烁文本
- 如何使用jquery更改html中的背景颜色
- 使用jQuery从原始页面内容创建iframe