两个OnClick事件重叠,导致第一个事件停止正常执行
Two OnClick events overlap, causing the first one to stop executing properly
我正在尝试将一个新的jQuery切换函数放入一个已经在工作的代码中。基本上,toggle函数应该通过onclick事件显示/隐藏下面的div form_fields_con
。
问题是form_fields_con
div包含通过onclick事件触发的AJAX功能。
当form_fields_con
div中没有任何更改,但单击后,切换功能将停止工作时,切换会起作用。
这是切换功能:
$(document).ready(function() {
$(".slidingDiv").hide();
$(".show_hide_search").show();
$('.show_hide_toggle').on('click', function(e) {
e.preventDefault();
var self = this,
sliding = $(this).closest('div').next('.slidingDiv').slideToggle(function() {
$($(self).children()[0]).text(function(_, txt) {
return txt == "–" ? "+" : "–";
});
});
});
});
这是包含在form_fields_con
div:中的AJAX
function selectcombobox(fuelcombobox, fuelid, fuelContainer, field_name) {
var popupvar = jQuery.noConflict();
popupvar('#'+fuelcombobox).css('display', 'none');
popupvar('#'+fuelid).css('display', 'block');
popupvar('#'+fuelContainer).css('display', 'none');
}
HTML和CSS在这里的JSFiddle中发布,以避免太长的帖子:
http://jsfiddle.net/Bradg/v8hzLt7f/1/
注意:由于某些原因,我无法在JSFiddle中模拟错误,对此深表歉意。
如何防止两个onclick函数的冲突?
您更改/重新创建包含onClick侦听器的DOM元素,解决问题的一个简单方法是事件委派:http://api.jquery.com/on/(见第二个论点)
$('.slidingDiv').on('click', '.select_con_car', function() {
alert('clicked');
});
http://jsfiddle.net/5m2mwd9h/
相关文章:
- 如何在执行此特定onclick事件时执行JavaScript函数
- 如何对CSS transitionEnd事件后执行的JavaScript进行单元测试
- 如何在触发点击事件后执行警报
- toogleClass函数来切换元素类并在事件期间执行某些操作
- Javascript:在每个onmouseover事件之后执行2个函数
- 为什么我在单个事件上执行多个
- 可以使 jquery 点击事件在所有其他点击事件之后执行
- 在两个元素的 onrender 事件之后执行函数
- ASPxClientGridView之后激发的客户端事件.ApplyFilter执行其工作
- 如何让iPhone在onClick事件上执行javascript
- 作为自动化测试的一部分,监控特定的js事件以及执行它们所需的时间
- 如何在jquery可丢弃事件中执行某些操作
- html+jquery(绑定onclick事件以执行onclick之前的操作)
- 如何在 iFrame 的 onload 事件中执行代码
- 如何在Twitter对话中的每个无限滚动事件上执行Greasemonkey脚本
- jQuery 事件的执行顺序
- JQuery - 在浏览器关闭事件时执行任务
- Firefox 引导插件:安装事件未执行
- j查询点击事件未执行
- 当检测到某个条件/事件时执行 jQuery