我的应用程序中有两个div,我希望它们具有具有相同签名但具有不同操作的自定义函数,以便我可以将“当前” div存储在变量中,并仅调用以下内容:
myCurrentDiv.theFunction(someEventData);
并启动了相应的方法。
我该如何使用jQuery?
我尝试做类似的事情:
$("#myFirstDiv").theFunction = function() {
alert("theFunction on firstDiv");
}
$("#mySecondDiv").theFunction = function() {
alert("theFunction on secondDiv");
}
最佳答案
jQuery的理念与您想要的相反:jQuery不会使用新的属性或方法扩展任何现有的类型/对象;它实现了所有内部功能。
但是,如果要使用jQuery,则有几种不同的方法:
JavaScript方式:
$("#mySecondDiv")[0].theFunction = function(a, b) { /* ... */ }
jQuery.data:
$("#mySecondDiv").data({ theFunction: function(a, b) { /* ... */ } });
$("#mySecondDiv").data("theFunction")(1, 2)
自定义事件:
$("#mySecondDiv").bind('my-event', function(event, a ,b) { /* ... */ });
$("#mySecondDiv").trigger('my-event', [1, 2]);