如何在模糊或按回车时调用JQuery函数?

时间:2015-11-20 03:56:37

标签: javascript jquery html

当我按Enter或blur()

时,我需要释放文本字段

实际上我很模糊(),但我需要这些东西。

这就是我所拥有的:

* JQuery *

$(document).ready(theMain);
      function theMain(){

        $("td").blur(ActTable);

        function ActTable(){
          alert("it works!");
        }

    }

* HTML *

<table>
  <tr><td>myID</td><td>column1</td><td>column2</td></tr>
  <tr>
    <td>01</td>
    <td contenteditable="true" onkeyup="if(event.keyCode==13) ActTable();">text to change</td>
    <td contenteditable="true" onkeyup="if(event.keyCode==13) ActTable();">text to change</td>
  </tr>
</table>

实际上,这个HTML部分调用了该函数,但我需要释放文本字段而不是键入向下空格。与blur()相同。

抱歉我的英文不好,谢谢。

修改 当我按下回车键时,我需要释放文本字段,我不知道我说话是否正确但是当我在该文本字段上输入时我需要相同的模糊效果。英语不是我的母语所以,对不起,如果我说得不好的话。

3 个答案:

答案 0 :(得分:2)

您需要使用e.which == 13

if(e.which == 13) {
    alert('You pressed enter!');
}

你的代码

$(document).ready(theMain);

function theMain() {
    $("td").on('blur', ActTable).on('keypress', function (e) {
        if (e.which == 13) {
            ActTable();
        }
    });

    function ActTable() {
        alert("it works!");
    }
}

答案 1 :(得分:2)

如果能够根据需要完成工作,请告诉我。

JQUERY:

$(document).ready(function(){
    //wire up blur events
    $('#myTable').on('blur','[contenteditable=true]',function(){
        alert('works');
    });

    //wire up keyup events
    $('#myTable').on('keyup','[contenteditable=true]',function(){
        if(event.keyCode==13){
            $(this).blur();
        }
    });
});

HTML上唯一需要的更改是在表标记上 HTML:

<table id="myTable">

需要Jquery选择表中必需的tds。同时删除td标记上的onkeyup属性

在这里查看并修补它:Fiddle

答案 2 :(得分:1)

使用.keyup()方法,并检查event.which是否等于13。 所以,你可以写:

$("#yourIdHere").keyup(function (event) {
    if (event.which == 13) {
        //use blur on input
        $("#yourIdHere").blur();
    }
});

修改

您可以在检查event.which值后调用模糊函数。