Javascript 在具有相同类名的元素上单击函数多次执行
我使用了bootstrap multiselect js插件,在我的代码中使用之后,我需要为我选择的每个选项添加一个单击事件,因此我绑定了单击事件,因为当我尝试单击选择选项时,函数执行了2次。(应该只执行1次) 我想知道我的代码中发生了什么,有人能解释一下吗 我的HTML代码:Javascript 在具有相同类名的元素上单击函数多次执行,javascript,jquery,Javascript,Jquery,我使用了bootstrap multiselect js插件,在我的代码中使用之后,我需要为我选择的每个选项添加一个单击事件,因此我绑定了单击事件,因为当我尝试单击选择选项时,函数执行了2次。(应该只执行1次) 我想知道我的代码中发生了什么,有人能解释一下吗 我的HTML代码: <div class="select-box"> <select id="demo1" multiple class="form-control course-list">
<div class="select-box">
<select id="demo1" multiple class="form-control course-list">
<option value="Javascript">Javascript</option>
<option value="Python">Python</option>
<option value="LISP">LISP</option>
<option value="C++">C++</option>
<option value="jQuery">jQuery</option>
<option value="Ruby">Ruby</option>
</select>
</div>
<div class="select-box">
<select id="demo2" multiple class="form-control course-list">
<option value="Javascript">Javascript</option>
<option value="Python">Python</option>
<option value="LISP">LISP</option>
<option value="C++">C++</option>
<option value="jQuery">jQuery</option>
<option value="Ruby">Ruby</option>
</select>
</div>
<div class="select-box">
<select id="demo3" multiple class="form-control course-list">
<option value="Javascript">Javascript</option>
<option value="Python">Python</option>
<option value="LISP">LISP</option>
<option value="C++">C++</option>
<option value="jQuery">jQuery</option>
<option value="Ruby">Ruby</option>
</select>
</div>
如果我单击列表项,它会调用函数(selectToggleItem)2次为什么
我使用bootstrap-multiselect.js和css文件进行此操作。单击标签时会遇到此问题,因为事件由输入和标签标签触发。如果单击复选框,则selectToggleItem仅触发一次 为了防止这种行为,您可以将事件绑定到复选框而不是
标记
$(文档).ready(函数(){
$('.course list').multiselect();
$('.select box')。每个(函数(){
$(this).find('.multiselect container li').each(函数(索引){
$(this).attr('data-item-index',index);
$(this).find(“输入[type=checkbox]”).bind('click',selectToggleItem));
});
});
});
功能选择切换项(e){
console.log('test');
}
Javascript
python
口齿不清
C++
jQuery
红宝石
Javascript
python
口齿不清
C++
jQuery
红宝石
Javascript
python
口齿不清
C++
jQuery
红宝石
Hii,但我仅为li绑定单击对吗?那么,该内部标签的单击事件是如何发生的呢?你能解释一下吗?这是标签的固有行为。单击标签时,它会触发绑定输入标记上的事件。请参阅,我绑定了包含类似于的单击,如果我单击li元素,为什么selectToggle()会执行两次???
$(document).ready(function() {
$('.course-list').multiselect();
$('.select-box').each(function(){
$(this).find('.ms-options ul li').each(function(index){
$(this).attr('data-item-index',index);
$(this).attr('onclick','selectToggleItem(this)');
// $(this).bind('click', selectToggleItem);
});
});
});
function selectToggleItem(e){
console.log('test');
}