相关疑难解决方法(0)

使用中键单击触发onclick事件

我正在使用onclick哈希链接的事件打开<div>一个弹出窗口.但是中间点击不会触发onclick事件,只会获取href链接的属性值并在新页面中加载URL.如何使用中间点击打开<div>弹出窗口?

javascript jquery

80
推荐指数
7
解决办法
8万
查看次数

为什么中间点击在几种情况下不会触发"点击"?

这是我所看到的行为的JSFiddle,涉及中间点击和clickChrome和FF中的事件.

'click'有点实际

方法1:将click处理程序直接绑定到a元素,中键单击将触发Chrome中的处理程序,但不会触发FF.

$('div a').on('click', function(ev) {
    // middle click triggers this handler
});
Run Code Online (Sandbox Code Playgroud)

方法2:将委托的click处理程序绑定到div包含一个或多个的处理程序a.中键单击不会在Chrome或FF中触发此处理程序.

$('div').on('click', 'a', function(ev) {
    // middle click doesn't trigger this handler
});
Run Code Online (Sandbox Code Playgroud)

如果div开始为空并且a稍后通过AJAX调用填充元素,或者作为某些用户输入的结果,则此方法非常有价值.

'mouseup'有效

使用mouseup而不是click导致方法1和2都在两个浏览器中都有效.

// Approach 1 w/ mouseup
$('div a').on('mouseup', function(ev) {
    // middle click **does** trigger this handler in Chrome and FF
});

// Approach 2 w/ mouseup …
Run Code Online (Sandbox Code Playgroud)

javascript firefox jquery google-chrome mouseevent

12
推荐指数
1
解决办法
8162
查看次数

标签 统计

javascript ×2

jquery ×2

firefox ×1

google-chrome ×1

mouseevent ×1