Javascript 第一次双击

Javascript 第一次双击,javascript,google-chrome,Javascript,Google Chrome,当人们在我的页面上双击一个大DIV时,我捕捉到双击并在大DIV内创建一个小的彩色DIV。我用 e.preventDefault(); return false; 以防止浏览器获得双击 这在Firefox中运行良好 但在Chrome中,在页面加载后,第一次双击大DIV将大DIV变成蓝色,然后继续创建小的彩色框 由于某种原因,Chrome在我之前就得到了第一次双击,并认为我想选择大的DIV,所以它变成了蓝色。(蓝色与Chrome所选择的内容相同。双击谷歌搜索页面上的某个内容即可查看

当人们在我的页面上双击一个大DIV时,我捕捉到双击并在大DIV内创建一个小的彩色DIV。我用

    e.preventDefault();
    return false;
以防止浏览器获得双击

这在Firefox中运行良好

但在Chrome中,在页面加载后,第一次双击大DIV将大DIV变成蓝色,然后继续创建小的彩色框

由于某种原因,Chrome在我之前就得到了第一次双击,并认为我想选择大的DIV,所以它变成了蓝色。(蓝色与Chrome所选择的内容相同。双击谷歌搜索页面上的某个内容即可查看。)

一旦我点击大DIV取消选择,蓝色消失,双击大DIV不再进入Chrome

谁能解释一下Chrome是如何在我之前获得第一次双击的,以及我如何防止这种情况


谢谢您的帮助。my

您可以在支持的浏览器中添加CSS以防止双击选择:

div#element_to_target {
    -webkit-user-select : none;
    -moz-user-select    : none;
    -khtml-user-select  : none;
    -ms-user-select     : none;
}
或者在事件处理程序中执行此操作

$('div').on('dblclick', function(e) {

    // do stuff

    if (window.getSelection) {
        window.getSelection().removeAllRanges();
    } else if (document.selection) {
        document.selection.empty();
    }
});

您可以添加CSS以防止在受支持的浏览器中双击选择:

div#element_to_target {
    -webkit-user-select : none;
    -moz-user-select    : none;
    -khtml-user-select  : none;
    -ms-user-select     : none;
}
或者在事件处理程序中执行此操作

$('div').on('dblclick', function(e) {

    // do stuff

    if (window.getSelection) {
        window.getSelection().removeAllRanges();
    } else if (document.selection) {
        document.selection.empty();
    }
});

您可以添加CSS以防止在受支持的浏览器中双击选择:

div#element_to_target {
    -webkit-user-select : none;
    -moz-user-select    : none;
    -khtml-user-select  : none;
    -ms-user-select     : none;
}
或者在事件处理程序中执行此操作

$('div').on('dblclick', function(e) {

    // do stuff

    if (window.getSelection) {
        window.getSelection().removeAllRanges();
    } else if (document.selection) {
        document.selection.empty();
    }
});

您可以添加CSS以防止在受支持的浏览器中双击选择:

div#element_to_target {
    -webkit-user-select : none;
    -moz-user-select    : none;
    -khtml-user-select  : none;
    -ms-user-select     : none;
}
或者在事件处理程序中执行此操作

$('div').on('dblclick', function(e) {

    // do stuff

    if (window.getSelection) {
        window.getSelection().removeAllRanges();
    } else if (document.selection) {
        document.selection.empty();
    }
});

请在问题中添加完整的代码示例。请在问题中添加完整的代码示例。请在问题中添加完整的代码示例。请在问题中添加完整的代码示例。谢谢!将样式声明放在大DIV上修复了它-webkit用户选择是它所需要的。谢谢!将样式声明放在大DIV上修复了它-webkit用户选择是它所需要的。谢谢!将样式声明放在大DIV上修复了它-webkit用户选择是它所需要的。谢谢!将样式声明放在大DIV上修复了它-webkit用户选择是它所需要的。