我用C#建立了一个照片库。用户可以按住shift并单击以一次选择多张照片。我使用System.Windows.Forms.Control.ModifierKeys属性来确定是否在链接按钮的OnClick事件中按下了shift,但发现它仅适用于IE。在Firefox中,Shift + Click打开一个新窗口,似乎绕过按钮的OnClick事件。通过这个获得什么是一个很好的解决方案?
答案 0 :(得分:2)
您需要利用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>