3

我不想使用 css 来扩展链接宽度/高度等。

使用我的代码,整个 LI 都是可点击的,它会打开其中的链接。我保留了鼠标中键单击以在新窗口中打开链接。

  1. 我想知道真正知道自己在做什么的人是否可以指导我并让我知道这是否是编写此代码的最佳方式,或者是否可以对我的代码进行更改?

  2. 另外:有人可以帮我添加“ctrl+左键单击”以在新窗口中打开链接,这与鼠标中键单击相同,我只是不确定如何测试 ctrl?我认为将 else if ((e.which == 2)) {零件更改为else if ((e.which == 2) && (e.which == 16)) {会起作用,但事实并非如此。

代码:

$('li a').each(function() {
            $(this).parent().bind('click', function(e) {
                if((e.which == 1)) {
                    alert('left mouse button clicked')
                    window.location=$(this).find("a").attr("href"); return false;
                }
                else if ((e.which == 2)) {
                    alert('middle mouse button clicked')              

                        window.open($(this).find('a').attr('href'));
                        return false;  
                }
            });
        });
4

1 回答 1

1

这是您检测按下哪些键的指南(全部通过事件发生):http ://www.quirksmode.org/js/keys.html

请注意,在 OSX 上,在大多数浏览器中是不可能的。

于 2011-03-22T05:53:45.117 回答