2015-11-20 33 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中。英语不是我的母语,所以,如果我说得不好,对不起。 –

相关问题