我的应用程序中有两个div,我希望它们具有相同签名的自定义函数,但具有不同的操作,这样我就可以将“当前”div存储在一个变量中,只需调用以下内容:
myCurrentDiv.theFunction(someEventData);
并启动相应的方法。
我如何使用jQuery来实现这一点呢?
我试过这样做:
$("#myFirstDiv").theFunction = function() {
alert("theFunction on firstDiv");
}
$("#mySecondDiv").theFunction = function() {
alert("theFunction on secondDiv");
}
但没有成功
发布于 2018-02-28 16:29:08
jQuery并没有用新的属性或方法扩展任何存在的类型/对象; 它实现了所有内部。
但是如果你想用jQuery来做,你有几种不同的方式:
$("#mySecondDiv")[0].theFunction = function(a, b) { /* ... */ }
$("#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]);
发布于 2018-02-28 17:16:33
你可以用jQuery.data若要存储与特定元素关联的数据,请执行以下操作。
例如:
var div = $("#myFirstDiv")[0];
jQuery.data(div, "theFunction", function() {
alert("theFunction on firstDiv");
});
https://stackoverflow.com/questions/-100007458
复制相似问题