2012-01-10 13 views
1

テキストを選択した直後に関数を呼び出そうとしています。私は現在、mouseupで呼び出された関数を持っていますが、選択が終了する前です。jQuery:mouseupイベントの直後に発生するイベントに関数をバインドするにはどうすればよいですか?

したがって、選択した直後に関数を呼び出すにはどうすればよいですか?

EDIT:テキストフィールドには.select()がありますが、DOM内の任意の場所、主にspanやdivなどを探しています。

+0

何を選択しましたか? – Stefan

+0

テキスト、テキスト選択。 1つはマウスで作った? = \ – NullVoxPopuli

答えて

2

あなたはselectイベントを試しましたか?通常のテキストのための

$("#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; 
}; 

役に立てば幸いjQueryのあなたのアプリで利用可能な場合、あなたはこれを行うことができます!乾杯。

+0

"このイベントはフィールドと