使用jQuery

时间:2017-08-21 00:14:58

标签: javascript jquery html

这可能听起来像一个愚蠢的问题,但只是听我说。

我正在尝试阻止使用鼠标中键点击链接。用户体验我之所以这样做,是因为锚点加载了AJAX内容,用户在点击它之前就不知道这一点。

问题在于:

/**
*   mousedown or mouseup
*/
$(document).on("mousedown", function(e) {
    if($(e.target).is("a.load-some-ajax-stuff") && e.which === 2) {
        alert('Foo'); // only works if there's an alert
        e.preventDefault();
    }
});

/**
*   click
*/
$(document).on("click", function(e) {
    if($(e.target).is("a.load-some-ajax-stuff") && e.which === 2) {
        e.preventDefault(); // should work, but doesn't catch middle-mouse clicks
    }
});

片段

$(document).on('mousedown', "a.load-some-ajax-stuff", function(e) { 
	if( (e.which == 2) ) {
            // alert('foo');
	    e.preventDefault();
         }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" class="load-some-ajax-stuff">I won't open a new tab when you middle click me</a>

修改

上面的Snippet似乎可以在Safari中使用,但不适用于Chrome。

0 个答案:

没有答案
相关问题