繁体   English   中英

模糊或按Enter时如何调用JQuery函数?

[英]How to call JQuery function when blur or press enter?

按Enter或blur()时需要释放文本字段

实际上,当我使用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()相同。

对不起,我的英语不好,谢谢。

编辑:当我按Enter键时,我需要释放文本字段,我不知道我的讲话是否正确,但是在该文本字段上按Enter键时,我需要相同的模糊效果。 英语不是我的母语,所以抱歉,如果我说得不好。

您需要使用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!");
    }
}

让我知道这是否可以按您的需要完成工作。

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属性

在这里看看并修改: 小提琴

使用.keyup()方法,并检查event.that是否等于13。因此,您可以编写:

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

编辑

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM