javascript-是否有任何吸引人的方法可以挂接到jQuery方法的触发器上?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-是否有任何吸引人的方法可以挂接到jQuery方法的触发器上?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1346字,纯文字阅读大概需要2分钟。
内容图文
![javascript-是否有任何吸引人的方法可以挂接到jQuery方法的触发器上?](/upload/InfoBanner/zyjiaocheng/693/da5ff937143a44e5b8df9884d3b77be2.jpg)
我想知道是否有任何吸引人的方法可以挂接到attr,data,css等方法上并调用自定义触发器?
理想情况下,我可以执行以下操作:
$(".friend a").bind("attr.changed", changed /* data */, function(e) {
alert("The " + changed.attribute + " attribute changed from " + changed.from + " to " + changed.to + "!");
});
$(".friend").append(
$("<a/>").
attr("href", "#").
html("Friend 1").
click(function() { alert('I was clicked!'); }); // creates the element, doesn't execute since element didn't exist
$(".friends a").each(function() {
var $this = $(this);
$this.attr("rel", "friend"); // triggers "attr.changed"
});
理想情况下,这可以在任何元素上触发,并将更改的attr(从对象到对象)传递到每个jQuery方法内部的触发器调用.
解决方法:
编写“挂钩”函数非常简单:
function hook(original, wrapper) {
return function() {
wrapper.apply(this, arguments);
return original.apply(this, arguments);
}
}
在调用原始函数本身之前,将使用与原始函数相同的参数来调用您提供的包装函数.
使用示例:
$.fn.attr = hook($.fn.attr, function(attribute, value) {
alert('attribute: '+attribute+', value: '+value);
});
$('a.pie').attr('href', 'http://blueberry.pie');
// An alert says "attribute: href, value: http://blueberry.pie"
(旁注:这是一个简单的扩展,也可以让您的包装取消对原始函数的调用,但这比您想要的功能要多.)
您可以直接使用它来做您想做的事情,也可以使wrapper函数仅触发您自定义的jquery事件,以标准jquery的方式监听这些事件.
内容总结
以上是互联网集市为您收集整理的javascript-是否有任何吸引人的方法可以挂接到jQuery方法的触发器上?全部内容,希望文章能够帮你解决javascript-是否有任何吸引人的方法可以挂接到jQuery方法的触发器上?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。