javascript - 点击jquery中的多个元素?

标签 javascript jquery

我有:

<div id="d1">
   <div id="d2"></div>
   <div id="d3"></div>
   <div id="d4"></div>
</div>

我想要的是在上面的任何一个元素被点击时调用这个函数:

function clickedele(){
    alert("Ele clicked");
}

我尝试了这些但都没有用:

var mhele_1 = $('#d1');
var mhele_2 = $('#d2');
var mhele_3 = $('#d3');
var menu_ico =$('#d4');
$([menu_ico.get(0),mhele_1.get(0), mhele_2.get(0),mhele_3.get(0)]).on('click', function(){
    alert("Ele clicked");
});

$('#menu_ico,#d1, #d2,#d3').on()

$('#menu_ico').add('#d1').add('#d2').add('#d3').on()

但都没有用

最佳答案

您的选择器 #menu_ico 未指向元素 ID 为 d1d2d3 的元素所以结合 id 选择器并绑定(bind)点击事件处理程序。

$('#d2,#d3,#d4').on('click', function(){
    alert("Ele clicked");
});

$('#d2,#d3,#d4').on('click', function() {
  alert("Ele clicked");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="d1">
  <div id="d2">a</div>
  <div id="d3">b</div>
  <div id="d4">c</div>
</div>


更新 1: 如果元素是动态添加的,则使用 event delegation .

// assumes `#d1` is not dynamically added,
// if yes then use any of it's ancestor present
$('#d1').on('click', '#d2,#d3,#d4', function(){
    alert("Ele clicked");
});

$('#d1').on('click', '#d2,#d3,#d4', function(){
    alert("Ele clicked");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="d1">
  <div id="d2">a</div>
  <div id="d3">b</div>
  <div id="d4">c</div>
</div>


仅供引用:document ready handler 内使用您的代码在加载元素或在页面末尾添加代码后运行。


更新 2:更好的方法是对所有元素使用通用类并将处理程序绑定(bind)到该类。

$('.d').on('click', function() {
  alert("Ele clicked");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="d1">
  <div id="d2" class="d">a</div>
  <div id="d3" class="d">b</div>
  <div id="d4" class="d">c</div>
</div>

关于javascript - 点击jquery中的多个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44019118/

相关文章:

jquery - 在变量中运行 for 循环

javascript - 将属性添加到 Select Option 以提取其他数据

javascript - 从隐藏字段获取值 - JavaScript

javascript - 如何将 'delegated' 函数的参数从子函数传递给另一个函数到父函数?

javascript - opencart v3中猫头鹰轮播的使用

javascript - JQuery 选择器按类别从集合中删除子项

javascript - 如何在使用 Phantomjs 生成 HTML 时保留结束 img 标签?

javascript - jQuery 可以提供标签名称吗?

javascript - 谷歌地图 iframe 无法在 bootstrap3 模式中正确加载

javascript - 类名解析不正确