2011-12-14 24 views
1

我知道這是一個奇怪的問題,但是:在textarea裏面,我怎麼知道用戶是否按下回車鍵(e.keycode == 13 )關於keydown事件的空行在textarea裏面:catch如果用戶按空格鍵輸入

我要觸發特定的同步功能,每次用戶按輸入除了如果用戶只是添加了有趣的新線(調用這些情況下,同步功能,將是一個可怕的資源浪費)。

+0

只有當用戶在包含至少1個字符的行上按下輸入時,才能觸發同步功能。例如,用戶可以按空格鍵進入空行。 – andufo 2011-12-14 00:30:46

回答

2

找到解決方案!

$('#q').keydown(function(e){ 
    if(e.keyCode == 13) { 
     if($(this).val()) { 
      if($(this).val().substr($(this).getCursorPosition()-1,1).length) { 
       //sync function here! 
      } else { 
       //user is pressing enter on empty line 
      } 
     } 
    } 
}); 

new function(a){a.fn.getCursorPosition=function(){var b=0;var c=a(this).get(0);if(document.selection){c.focus();var d=document.selection.createRange();var e=document.selection.createRange().text.length;d.moveStart("character",-c.value.length);b=d.text.length-e}else if(c.selectionStart||c.selectionStart=="0")b=c.selectionStart;return b}}(jQuery); 
0

那麼,這取決於他們是如何到達那裏的。如果用戶按下全行輸入,同步功能會被調用嗎?如果是這樣,那麼他們如何才能達到空線?

+0

只有當用戶按下包含至少1個字符的行時,才能觸發同步功能。例如,用戶可以按空格鍵進入空行。 – andufo 2011-12-14 00:30:41

相關問題