2015-11-20 37 views
0

當我按下enter或blur時,我需要釋放文本字段()如何在模糊或按下回車鍵時調用JQuery函數?

其實我沒事的時候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()一樣。

對不起,我的英語不好,謝謝。

編輯: 我需要釋放文本字段,當我按下回車,我不知道如果我說正常,但我需要同樣的模糊效果,當我按在該文本框輸入。英語不是我的母語,所以,如果我說得不好,對不起。

回答

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

+0

不錯的工作,但我需要釋放文本字段,而不是鍵入空格。和blur()一樣。 –

+0

你能解釋一下你的意思嗎?我不完全理解你的意思 –

+0

如果你檢查你的例子,你會看到,當你鍵入一些東西,然後按下「enter」鍵時,函數被正確調用,但是「文本字段沒有被釋放,效果與模糊效果不同「。 –

1

使用.keyup()方法,並檢查是否event.which等於13 所以,你可以寫:

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

編輯

你可以後調用模糊函數檢查event.which值。

+0

指針仍然TextField內的,我不希望出現這種情況。 –

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!"); 
    } 
} 
+0

由於從HTML調用ActTable(),它需要_global_,將函數移到'theMain'之外或者建議移除_inline_處理程序並使用jQuery進行事件處理。 – Tushar

+0

當我按下回車鍵時,我需要釋放文本字段,當我在該文本字段上按回車鍵時,我需要相同的模糊效果。你的代碼正在調用函數,但指針仍然在TextField中。英語不是我的母語,所以,如果我說得不好,對不起。 –

相關問題