jquery - Jquery绑定事件在Chrome中触发两次但在IE中有效
问题描述
Jquery 事件在 Chrome 中触发两次,但在 IE 中仅触发一次。点击事件绑定到几个标签,因此当用户点击标签时,目标事件在 Chrome 最新版本 (75) 中被触发两次,最终在目标上调用两次 ajax 调用。
我尝试过使用绑定/取消绑定方法,但它不起作用。
$("#idElement a img").unbind("click").bind("click", function (event)
{
var target = event.currentTarget;
if (!dataSaved()) {
event.stopPropagation();
} else {
$("#idElement a img").unbind("click")
$(target).click();
}
});
$("#idElement a img").on("click", function (event) {
var target = event.currentTarget;
if (!dataSaved()) {
event.stopPropagation();
} else {
$("#idElement a img").off("click")
$(target).click();
}
});
单击目标事件时,只调用一次以避免重复 ajax 调用的问题。
解决方案
.on 足够你不使用 .bind
$(".wrapper").on("click","#idElement a img", function (event) {
var target = event.currentTarget;
if (!dataSaved()) {
event.stopPropagation();
} else {
$("#idElement a img").off("click")
$(target).click();
}
});
.wrapper 是您的控制区域、容器或主体等。
推荐阅读
- python - 如何解码原始格式的 Gmail API 获取消息以提取链接
- python - 对列表中的 Python 字典对象进行排序
- webpack - 是否可以在长时间运行的“观察”脚本之后运行“观察后”脚本
- apache-spark - 用于窗口聚合和自定义触发的 Apache Spark 结构化流
- ruby-on-rails - PG::UndefinedTable: 错误:关系“action_text_rich_texts”不存在 | 导轨 6 | Rails_Admin | PostgreSQL
- amazon-s3 - 当我从 s3 存储桶以编程方式下载文件时,它给了我错误看起来我们不支持这种文件格式
- pytorch - PyTorch 中参数与张量的区别
- centos - 如何在 VPS 上设置 CentOS 端口转发?
- bash - 如果在使用 bash 移动时重复,则将字符添加到文件名
- javascript - 如何在正确的时刻指定时区和日期对象格式,这样我就不会收到无效日期和不推荐使用时刻的警告?