//sw Get Element
var button = document.getElementById("mybutton");
//sw Get Click Function
var clickFunction = jQuery._data(button, "events").click[0].handler;
//sw Test Click Function
clickFunction();
//sw Copy ClickFunction to another Element
$('#anotherButton').click(clickFunction);
字符串 注意:前面的代码,适用于:
$("#mybutton").click(function() {
//sw TODO HERE
});
6条答案
按热度按时间xzv2uavs1#
是的,你可以访问handler函数。在jquery中这样做:
字符串
然后将其分配给另一个元素,如下所示:
型
vbkedwbf2#
我写了一个jQuery插件来复制事件。虽然,它只适用于动态添加的事件,但不适用于那些添加了“on”函数的事件。
我希望这将帮助某人。
主要参数:
eventType -“click”、“mouseover”等。
destination -jQuery对象、dom元素或选择器
clearCurrent -如果为true,将清除目标上的当前处理程序-默认为false
字符串
smdnsysy3#
这里另一种方式:
字符串
注意:前面的代码,适用于:
型
nxowjjhe4#
很明显你不能再这么做了,
这就是你可以做的方式(感谢this answer):
字符串
然后,就像ChuckE的回答一样:
型
w1e3prcc5#
听起来你可能漏掉了下面的第二行。你应该在复制的时候做一个动作。
字符串
6g8kf2rb6#
下面将删除元素数据中的“onclick”存储,并允许您稍后从数据中使用它。
DEMO http://jsfiddle.net/u4eVW/1/
字符串
如果你想在单独的“onclick”中改变一些东西,你需要把属性值当作一个字符串,并使用regex方法来修改。
型