我有一个使用 jQuery 绑定事件的页面:
$('#element').click(function() { /* do something */ });
我已经编写了一个扩展来访问和修改页面中的 DOM。我创建元素#newelement。我现在需要将上面提到的相同事件附加到#newelement,但是我需要重用嵌入在页面中的代码。我不能只是复制 javascript 并将其放入扩展代码中,因为这将是一团糟。
这可以做到吗?如何?
谢谢!
我有一个使用 jQuery 绑定事件的页面:
$('#element').click(function() { /* do something */ });
我已经编写了一个扩展来访问和修改页面中的 DOM。我创建元素#newelement。我现在需要将上面提到的相同事件附加到#newelement,但是我需要重用嵌入在页面中的代码。我不能只是复制 javascript 并将其放入扩展代码中,因为这将是一团糟。
这可以做到吗?如何?
谢谢!
您可以将事件绑定到多个元素:
$('#element, #newelemnt').on('click', function() { /* do something */ });
您正在寻找的 Api 称为.on
:http ://api.jquery.com/on/
因此,现在当您添加一个新元素时,该.on
事件将绑定该元素。
用于手术
如果元素不是动态添加的,您可以组合元素:
很好的讨论:http: //forum.jquery.com/topic/jquery-combining-selectors
像这样:
$('#ele_id, #ele_idfoo, #ele_new_id').click(function() { /* do something shared here*/ });