我有两个不同的div(代码被简化了,这不是实际的代码。)
<div id="test"></div>
<div id="funt"></div>
我想要的是,将相同的点击事件附加到#funt
:
类似的东西:
$('#test').click(function() {
DoWork();
});
$('#funt).click(function() {
DoWork();
});
function DoWork(){
alert('yes');
}
但是有没有办法将多个div定义为相同的点击事件?
让我们说(是的,我知道这不起作用!)
($('#test'),('#funt')).click(function(){alert('yes')});
答案 0 :(得分:18)
答案 1 :(得分:0)
这应该有效
($('#test','#funt')).click(function(){alert('yes')});
答案 2 :(得分:0)
为div分配一个类,然后使用如下所示的类分配click事件:
<div class="clickable" id="test"></div>
<div class="clickable" id="funt"></div>
然后
$('.clickable').click(function()
{
DoWork();
});
你也可以列出这样的id:
$("#test, #funt").click(DoWork);
我经常尝试使用类,因为当你处理多个div时它更干净 - 你不必列出每个类的ID。
答案 3 :(得分:0)
你实际上非常接近:
$('#test, #funt').click(function() {
});
答案 4 :(得分:0)
你有两个选择,要么你可以给这两个div一个类,然后只运行代码:
$(".myclass").click(function() {
DoWork();
});
或者你可以定义一个函数:
function hookClick(arr, handler) {
foreach (var i in arr) {
$(i).click(handler);
}
}
然后使用
运行它hookClick(["#div1", "#div2"], function() { /*do sth cool })
答案 5 :(得分:0)
您可以尝试使用此语法,
使用 Classes
$(".className1, .className2, .classNameN").on('click', function(){
Do_Some_Work();
});
使用 Id's
$("#ID1, #ID2, #IDN").on('click', function(){
Do_Some_Work();
});
使用ID
和Class
<div id="z">z
<div class="w">w</div>
<div class="x">x</div>
<div class="y">y</div>
</div>
$('#z.w , #z.y').on('click', function(){
Do_Some_Work();
//Pointer come here only when it click on `W` and `Y`
});