2012-01-10 76 views
1

我想在文本选择完成后立即调用函数。我目前在mouseup上调用了一个函数,但是这仍然是在选择完成之前。jQuery:如何将函数绑定到mouseup事件之后立即发生的某个事件?

那么,如何在选择后立即调用函数?

编辑:有一个.select()文本字段,但我正在寻找DOM中的任何地方的选择,主要是跨度和divs等。

+0

选择什么? – Stefan 2012-01-10 19:09:21

+0

文本,文本选择。一个用鼠标做的? = \ – NullVoxPopuli 2012-01-10 19:09:43

回答

2

你试过select事件吗?如果jQuery是在你的应用程序提供一个,你可以这样做:

$("#someElement").select(function(e) { 
    // do something! 
}) 

为常规文本(即不是输入),下面从@mrtsherman建议应该工作:

$(document).bind("mouseup", function(e) { 
    var text = getSelected(); 

    if (text) { 
     // do something with the selected text 
    } 
}); 

function getSelected() { 
    if (window.getSelection) { 
     return window.getSelection(); 
    } else if (document.getSelection) { 
     return document.getSelection(); 
    } else { 
     var selection = document.selection && document.selection.createRange(); 
     if (selection.text) { 
      return selection.text; 
     } 
     return false; 
    } 
    return false; 
}; 

希望帮助!干杯。

+0

“当用户在其中进行文本选择时,将选择事件发送到元素。此事件仅限于字段和