使用Onclick事件右键单击Div不会在上下文菜单中显示链接选项

时间:2014-09-09 17:48:34

标签: javascript jquery html html5 onclick

我想整个div可点击。

向div添加onclick事件,不允许我使用以下链接执行以下操作:

  1. 右键单击 - >在新标签页中打开链接。
  2. 右键单击 - >复制链接位置。
  3. 鼠标滚轮单击可在新选项卡中打开链接。
  4. 将鼠标悬停在链接上时,会在状态栏中显示该链接的网址。
  5. 据我了解HTML5,您不应该使用锚标记包装div标记。所以我添加了一个onclick事件来转到新的URL。但是,我有上面提到的四个问题。

        Good Example:
        <div onclick="location.href='http://www.google.com';">
            <p>Paragraph</p>
            <div>More content...</div>
        </div>
    

    如果我将Div包装在一个锚标签中,它具有我期望的所有功能,但不符合HTML5标准。

        Bad Example:
        <a href='http://www.google.com'>
            <div>
                <p>Paragraph</p>
                <div>More content...</div>
            </div>
        </a>
    

    是否有一种可接受的方法可以使用onclick事件从坏示例中获取行为,例如好的示例?

1 个答案:

答案 0 :(得分:0)

试试这个:

<强> HTML

<div id="dv">
    <p>Paragraph</p>
    <div>More content...</div>
</div>

<强> JS

$(document).ready(function () {
$('#dv').mousedown(function (event) {
switch (event.which) {
case 1: //Left Click
window.open('http://www.google.com');
case 2: //Middle Click
window.open('http://www.google.com');
break;
case 3: //Right Click
}
});
$("#dv").hover(function () {
window.status = "http://www.google.com";
});
});

有关使用window.status

的信息
  

此属性在Firefox和其他一些浏览器的默认配置中不起作用:设置window.status对状态栏中显示的文本没有影响。要允许脚本更改状态栏文本,用户必须在about:config屏幕中将dom.disable_window_status_change首选项设置为false。

参考:https://developer.mozilla.org/en-US/docs/Web/API/window.status