移位+单击 Firefox 中的 Linkbutton 将打开新窗口,而不是触发 OnClick

发布于 2024-08-23 12:11:15 字数 206 浏览 5 评论 0原文

我使用 C# 构建了一个照片库。用户可以按住 Shift 并单击一次选择多张照片。我使用System.Windows.Forms.Control.ModifierKeys属性来确定链接按钮的OnClick事件中是否按下了shift,但发现它只在IE中有效。在 Firefox 中,Shift + 单击会打开一个新窗口,并且似乎绕过了按钮的 OnClick 事件。有什么好的解决方案可以解决这个问题?

I used C# to build a gallery of photos. Users can hold down shift and click to select multiple photos at once. I used the System.Windows.Forms.Control.ModifierKeys property to determine whether shift is being pressed in the OnClick event of a link button, but find that it only works in IE. In Firefox, Shift + Click opens a new window and appears to bypass the button's OnClick event. What is a good solution for getting by this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

给我一枪 2024-08-30 12:11:15

您需要利用 javascript 来拦截点击并阻止默认操作。我建议查看 JQuery 来执行此操作。

实际上,我在相反的方向做了类似的事情,我使用 H1 标签的 img 替换方法使它们可链接,并允许它们在图像上单击并启动新窗口。

这是半编码的自由流,因此可能需要一些调整,但它类似于

<script language="javascript" type="text/javascript">
    $(document).ready(function() {
        $('img.selectable').mouseup(function(e) {

            if (e.ctrlKey || (!$.browser.msie && e.button == 1) 
                            || ($.browser.msie && e.button == 4)) {

                //middle mouse button or ctrl+click 
                //(need to lookup values for shift)
                //do something meaningful

            }
            else {
                //normal left click

            }
        })
        .click(function(e) { e.preventDefault(); });
    });                   
</script>

You would need to take advantage of javascript to intercept the click and prevent the default action. I would recommend looking at JQuery for doing this.

I actually did something similar in the reverse direction where I use the img replacement methodology for H1 tags to make them linkable and allow them to shift click on the image and launch the new window.

This is half coded free flow so it might take some tweaking but it would be similar to

<script language="javascript" type="text/javascript">
    $(document).ready(function() {
        $('img.selectable').mouseup(function(e) {

            if (e.ctrlKey || (!$.browser.msie && e.button == 1) 
                            || ($.browser.msie && e.button == 4)) {

                //middle mouse button or ctrl+click 
                //(need to lookup values for shift)
                //do something meaningful

            }
            else {
                //normal left click

            }
        })
        .click(function(e) { e.preventDefault(); });
    });                   
</script>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文