gpt4 book ai didi

执行 "ctrl"+ "click"时,jQuery OnClick 在 IE 中不起作用

转载 作者:行者123 更新时间:2023-12-01 03:32:55 25 4
gpt4 key购买 nike

我有一个执行 ajax POST 的 jQuery 函数。每当使用填充的 ID“单击”链接 (href) 时,函数就会启动一个操作。

我的函数在 Chrome 中运行良好。当我简单地“单击”链接或按住“Ctrl”+“单击”(在新选项卡中打开)时,ajax POST 就会执行它应该执行的操作。在 IE 中,当我只需“单击”链接时,它就会按预期工作。但是当我按住“Ctrl”+“单击”(在新选项卡中打开)时,ajax POST 被完全忽略,就好像没有单击任何内容一样。 IE 中的新选项卡打开,但我的 ajax POST 被跳过。

如何让 Internet Explorer 中的 jQuery 识别“Ctrl”+“Click”?

$(document).ready(function () {
$(document).on('click', 'a', function () {
var reportNum = $(this).attr("id");
var embed = $(this).attr("name");
if (reportNum == null) {
} else {
$.ajax({
type: "POST",
url: "@Url.Action("updateHitCount", "Base")",
data:
{
reportNum: reportNum
}
});
}
});
});
<小时/>

HTML

<小时/>
<a href="https://google.com" id="foo">Click Here!</a>

最佳答案

这是一个有趣的问题。

它让我学到了一些关于跨浏览器的新知识思考

根据我的观察,我认为 Internet Explorer 故意阻止按下 CTRL 键时发生click 事件。这是为了以 Microsoft 的方式管理弹出窗口...

我还发现this behavior exist at least since IE7 .

如果您在选项卡中查看“Internet 选项”。
根本没有办法选择像“不做任何事情”这样的东西。

enter image description here

我做了一个CodePen测试一下...

似乎触发 click 事件的唯一情况是 href 是空白哈希 (href="#" )。

因此,就像 Vector 建议的那样,使用 mouseup 事件而不是 click 可能是一种解决方案。

关于执行 "ctrl"+ "click"时,jQuery OnClick 在 IE 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44729183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com