2012-01-10 3 views
1

텍스트 선택이 완료된 직후에 함수를 호출하려고합니다. 현재 mouseup에 호출 된 함수가 있지만 이것은 선택이 끝나기 전입니다.jQuery : mouseup 이벤트 직후에 발생하는 이벤트에 함수를 바인딩하려면 어떻게해야합니까?

그래서 선택을 한 직후에 함수를 호출하려면 어떻게해야합니까?

EDIT : 텍스트 필드에 .select()가 있지만 DOM의 어느 곳에서나 선택 영역을 찾고 있는데 주로 span과 divs 등입니다.

+0

무엇을 선택 했습니까? – Stefan

+0

텍스트, 텍스트 선택. 마우스로 만든 건가요? = \ – NullVoxPopuli

답변

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

"선택 이벤트는 사용자가 내부에서 텍스트를 선택하면 요소로 보내집니다.이 이벤트는 필드와