jquery-仅当用户选择该表单中的某些文本时,如何在表单中运行某些代码

时间:2011-11-07 14:31:03

标签: javascript jquery

我只想在用户在表单中选择一些文本时运行一些代码 - 所选文本可能是表单中输入元素的标签,或者是表单中直接给出的一些文本。

目前我正在使用以下内容 -

$('form').each(function(){
    // the 'this' below refers to a form- any element within the form is a child of the form...
    //hence the listener checks for focus being set to any element within any form of the web page...
    $(this).children().focus(function() {

  ......MY CODE HERE.............

有没有更好的方法来修改上面的代码,只有当用户在表单中选择了一些文本时它才有效?

2 个答案:

答案 0 :(得分:2)

试试这个;

$("form *").focus(function () { 
alert("focus"); 
});

答案 1 :(得分:0)

有用于查看文本选择的javascript,但它在某些方面比DOM API更混乱。我没有完整的解决方案,但请查看Rangy以获得理智的选择API,并将事件注册到mouseup以检查当前选择。