簡體   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