Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过mouseup事件选择文本,通过调用函数选择dbclick事件_Javascript_Jquery_Getselection - Fatal编程技术网

Javascript 通过mouseup事件选择文本,通过调用函数选择dbclick事件

Javascript 通过mouseup事件选择文本,通过调用函数选择dbclick事件,javascript,jquery,getselection,Javascript,Jquery,Getselection,我查找jqueryselecttext事件,找到了。 在本例中,mouseup事件与dbclick事件一起工作 我在代码中添加了一个返回值为的函数,但现在dbclick不起作用。 如果(!window.James){ 詹姆斯={}; } 我想你的意思是这样的: 只需设置一个setTimeout(),使其也能够用于dblclick。导致问题的语句如下:让我们将其称为“问题语句”:if(selectedText!=''){ 在原始代码中,一旦满足此条件,程序将输出警报 您只需单击一下: 由于未选

我查找jqueryselecttext事件,找到了。 在本例中,mouseup事件与dbclick事件一起工作

我在代码中添加了一个返回值为的函数,但现在dbclick不起作用。

如果(!window.James){ 詹姆斯={}; }


我想你的意思是这样的:


只需设置一个
setTimeout()
,使其也能够用于dblclick。

导致问题的语句如下:让我们将其称为“问题语句”:
if(selectedText!=''){

在原始代码中,一旦满足此条件,程序将输出警报

您只需单击一下:

  • 由于未选择任何内容,原始代码到达问题陈述,因此不会输出警报

  • 当问题语句失败时,代码到达问题语句并且不返回值,但是您的警报语句始终执行

因此,在原始代码中,该函数似乎是在双击时调用的,而不是在单击时调用的。这不是真的,它总是被执行的。但现在的浏览器中,“双击”会突出显示空格之间的字符串或字符,因此
(selectedText!='')

在执行警报之前,您可以使用一个简单的if语句修复此问题

$(document).ready(function () {
    $(document).bind("mouseup", function (e) {
        if (James.Selector.mouseup(e) !== undefined)
        alert(James.Selector.mouseup(e))            
    });
    window.getSelection().removeAllRanges();
});
其中
if(James.Selector.mouseup(e)!==undefined)
将仅在选择某个内容或双击时执行警报

请注意,我移动了语句:
window.getSelection().removeAllRanges();

在绑定函数之外,因此关闭警报后选择不会被删除。

它正在发出警报,您希望它如何工作?我只想获取返回值…“e”是返回值!好的,但为什么dbclick不工作?我同意Amin的说法。您当前正在使用bind(“mouseup”,…),所以你的函数似乎正在做它应该做的事情。你想用它做什么?你试过console.log来查看对象中的内容吗?我刚刚发现,等等,我马上更新我的答案!dobare javabo emtehan kon!这就是你需要的吗?
$(document).ready(function () {
    $(document).bind("mouseup", function (e) {
        if (James.Selector.mouseup(e) !== undefined)
        alert(James.Selector.mouseup(e))            
    });
    window.getSelection().removeAllRanges();
});