如何阻止 Firefox 在按住 Ctrl 键的情况下在新选项卡中打开 gridview 标头排序回发链接

2024-04-28

我试图让 ASP.Net 中的 gridview 控件根据用户在尝试通过单击列名称进行排序时是否按下 Ctrl 键进行多重排序。问题是,当我使用 Firefox 时,如果我按下 Ctrl 键单击列名称,浏览器会尝试在新选项卡中打开“javascript:__doPostBack('ctl00$ContentPla...”链接。IE 和 Chrome 均如此除非链接是真实链接,否则不要这样做。

有没有办法可以阻止 Firefox 在新选项卡中打开链接并仍然使页面正常回发?

Thanks.


您需要使用 document.onKeyDown 捕获按下 Ctrl 键的事件。

在事件处理程序中,检查是否按下了“Ctrl”(键代码 17),如下所示:

function document_keyDown(e) {
    var KeyID = (window.event) ? event.keyCode : e.keyCode;
        if (KeyID == 17) { 
            ctrlDown = true;
        }
}

在这里,我将“ctrlDown”变量设置为 true。

对于 onKeyUp 事件,您可以执行完全相反的操作:

function document_keyUp(e) {
    var KeyID = (window.event) ? event.keyCode : e.keyCode;
    if (KeyID == 17) { 
       ctrlDown = false;
    }
}

然后,在列元素的单击事件中,您可以检查是否已单击 Ctrl:

function columnElement_click() {
    if (ctrlDown != undefined && ctrlDown == true)
        alert("Ctrl + Click Received");
    return false;
}

确保您的列点击处理程序返回假。否则,浏览器将执行代码,然后导航到链接的“href”属性中的地址。

希望这可以帮助。

(也可以看看:http://www.geekpedia.com/tutorial138_Get-key-press-event-using-JavaScript.html http://www.geekpedia.com/tutorial138_Get-key-press-event-using-JavaScript.html)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何阻止 Firefox 在按住 Ctrl 键的情况下在新选项卡中打开 gridview 标头排序回发链接 的相关文章

  • 不同事件的角度停止传播

    在我的 Angular 4 应用程序中 我有一个带有 dblclick 处理程序的父组件和一个带有 click 处理程序的子组件 组件 html
  • 如何更改 Firefox 插件上的脚本位置?

    制作 Firefox 插件的最简单方法是什么 它重复了这个 chrome 功能 chrome webRequest onBeforeRequest addListener function info if info url indexOf
  • 检查 RoutedEvent 是否有任何处理程序

    我有一个自定义 Button 类 当单击它时 打开特定窗口 它总是执行相同的操作 我添加了一个可以在按钮的 XAML 中分配的 Click 事件 就像常规按钮一样 当它被单击时 我想执行 Click 事件处理程序 如果已分配 否则我想执行默
  • jQuery:在动画期间禁用单击

    所以我正在做一个小测验 我想禁用里面所有内容的点击 qWrap当动画运行时 从而防止垃圾点击 我尝试使用 is animated 但没有效果 有任何想法吗 HTML div ul li class qContainer ul class q
  • Firefox 和 Safari 中的 MouseEvent.path 等效项

    我正在使用 Polymer 1 0 当点击 Chrome 中的按钮时MouseEvent被生成 这MouseEvent对象有一个path属性是单击按钮的父元素的有序数组 然而 在 Firefox 和 Safari 中 click生成的没有p
  • 如何向 Firefox 添加自定义网络限制?

    这是 stackoverflow 的主题 因为它与开发工具有关 我想要做的是将卫星互联网配置文件加载到 F12 网络节流 比如 500ms 延迟和 25Mbit 的最大带宽 由于广泛使用require js 根据我对 Firefox 代码的
  • Internet Explorer 和 Firefox 上的 YouTube IFrame API

    更多的是 答案 而不是 问题 但在其他地方没有找到这个 所以我将其发布在这里 我在所有版本的 IE 和 Firefox 中初始化 iFrame API 时遇到困难 需要进行一些自定义实现 基本上 它会加载 API 但不会创建玩家对象 经过一
  • Google App Script postMessage 与收件人窗口的来源不匹配

    我有一个 Google App 脚本部署为Web应用程序 https developers google com apps script guides web 它工作正常 直到今天晚上我发现它无法在 Firefox 或 Chrome 中加载
  • 如何在 Linux/OS X 上温和地终止 Firefox 进程

    我正在使用 Firefox 进行一些自动化操作 尽管我可以从 shell 打开 Firefox 窗口 但我无法正确终止它 如果我kill火狐进程与kill 3 or kill 2当我下次打开新的 Firefox 窗口时 命令会询问我是否要在
  • 如何将 Firebug 停靠在浏览器窗口中?

    在新窗口中打开后如何将 Firebug 停靠在浏览器窗口中 对于 Mac OS X 10 5 上的 Firefox 3 0 8 和 Firebug 1 3 我无法将其停靠在浏览器窗口中 如何解决问题 背景 火狐浏览器10 0 10 脚步 如
  • 在WPF中如何添加菜单项事件?

    在我的 WPF 应用程序中 我添加一个菜单 然后在其下添加几个菜单项 例如 我的菜单项之一是 Main Item 然后我在 Main Item 下添加subItem1 subItem2和subItem3 我想单击 subItem1 并执行某
  • SVG 过滤器在 Firefox 中不显示,在 Chrome 中工作正常

    我想要深色背景上的一段深色文本外面有白色的光芒 虽然默认阴影滤镜 https developer mozilla org en US docs Web CSS filter drop shadow 2在 CSS 中 比如filter dro
  • 文本框中“结束编辑”的事件

    我正在 winform c 中使用文本框 并使用文本在数据库中进行查询 但每次文本更改时 我都需要不断查阅文本框的文本 因此 对于这些 我使用 KeyUp 但这个活动太慢了 文本框编辑完成后是否会触发任何事件 我考虑完成2个条件 控制失去焦
  • Firefox -moz-border-radius 不会裁剪图像?

    如果设置了图像的边框半径 有谁知道如何让 Firefox 裁剪角 它包含的元素可以正常工作 但我会发现丑陋的角落伸出来 有什么方法可以解决此问题 而无需将图像设置为背景图像或在将其放在网站上之前对其进行处理吗 解决方法 将图像设置为容器元素
  • 单击按钮时退出应用程序 - iOS [重复]

    这个问题在这里已经有答案了 可能的重复 iOS 4 0 中退出应用程序 https stackoverflow com questions 3097244 exit application in ios 4 0 我有一个 AlertView
  • 浏览器特定的 CSS 属性

    在哪里可以找到完整的 浏览器特定 css 属性 参考 我的意思是一些属性 例如 moz border radius这仅适用于 Firefox 或 webkit min device pixel ratio 这些示例仅适用于指定的 Web 浏
  • 如何清除chrome性能条目或绕过其数量限制?

    我使用 Google Chrome 来分析一些使用 Javascript 动态加载脚本和其他资源的网页的性能 我用performance getEntries 方法 但我注意到 Chrome 只记录前 150 个资源 我找不到任何方法来获取
  • 我无法注入带有“!important”规则的样式[重复]

    这个问题在这里已经有答案了 我尝试使用以下代码注入样式 document body style color green important Per CSS 级联引用 http www w3 org TR CSS2 cascade html
  • XMLHttpRequest 上传进度事件在 Firefox 10.0.2 中不起作用

    我正在尝试创建一个带有进度条的基于ajax 的上传表单 这是我的代码 其中的上传部分 xhr new XMLHttpRequest xhr upload addEventListener progress function e if e l
  • CSS 中的 Data-URI SVG 背景在 Firefox 中不起作用

    好的 这就是我想做的 我的 css 文件中有这段代码 form row textfield hover textfield m hover background image url data image svg xml base64 PHN

随机推荐