1

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

4

1 回答 1

2

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

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

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

<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>
于 2010-03-02T20:43:51.463 回答