为什么IE需要我点击两次
why does IE need for me to click twice
我有这个jQuery
$('.billing_info').click(function(e){
e.preventDefault();
if(($('.shipping_selection').length) > 0){
if ($('.shipping_selection:checked').length == 0){
$('.hide_error').show();
$("html, body").animate({ scrollTop: $(".hide_error").offset().top }, "slow");
$(".hide_error").effect("highlight", {}, 4000);
return false;
}else{
$('.billing_info').unbind("click");
$('.billing_info').click();
}
}else{
$('.billing_info').unbind("click");
$('.billing_info').click();
}
});
这在除IE之外的所有浏览器中都非常有效。我使用的是IE8,用户需要点击两次按钮才能接受点击事件,即使有一个单选按钮$('.shipping_selection')点击了
也许一点重构会有所帮助。只有在需要时才阻止默认,否则让函数传递到默认提交事件。
$('.billing_info').click(function(e){
if(($('.shipping_selection').length) > 0 && $('.shipping_selection:checked').length == 0){
e.preventDefault();
$('.hide_error').show();
$("html, body").animate({ scrollTop: $(".hide_error").offset().top }, "slow");
$(".hide_error").effect("highlight", {}, 4000);
return false;
}
});
相关文章:
- Meteor Router数据函数被调用两次
- 从MySQL数据库中获取输入数据需要两次页面刷新
- JavaScript onclick在IE 9中工作两次,然后停止
- 为什么setTimeout在Chrome中触发两次,而在IE或Firefox中却没有
- 在Chrome中点击两次,而不是IE或Firefox
- 使用PHP在IE上发出两次javascript警报
- 无法在 IE 中动态加载 JavaScript 文件两次
- 为什么我必须在IE中单击选择框选项两次才能使其消失
- 在 IE 上,表达式执行两次
- 我必须使用jquery框架在IE中按下两次提交按钮才能提交表单
- IE在ajaxized网站上调用函数两次
- 为什么IE需要我点击两次
- 当点击点赞按钮并在点赞中添加评论时,IE 9在脸书墙上发布了两次
- Chrome执行代码两次,而IE不是
- $scope's方法通过ng-click调用:由IE执行两次
- dom元素点击事件只在IE中触发两次
- onbeforeunload消息出现两次(ie浏览器)
- 事件触发两次在IE的onclick和onsubmit
- JavaScript/jQuery interval在ie浏览器中执行两次
- ajax调用在IE兼容模式下触发两次