2012-08-01 55 views
1

當沒有按下鍵盤上的鍵時,每當我改變<input type="text">上的文字時,是否有方法觸發一個事件?當沒有用鍵盤觸發jQuery時,文本改變了事件

我的意思是當某人輸入時右鍵單擊 - >在輸入上粘貼或拖動選定的文本,而不是僅在按下某個鍵時捕獲。

我已經試過:

<input id="some-id" onchange="alert('fired')"> 

$('#some-id').on('change', ev_handler); 
$('#some-id').change(ev_handler); 

唯一的事件觸發是那些涉及到的按鍵,但他們不火上粘貼或拖動

+2

看起來像是如果綁定到「輸入」事件,它按預期工作。由於某些原因,請參閱https://gist.github.com/brandonaaskov/1596867 – jasoncrawford 2013-04-22 05:49:53

回答

3

oninput事件可以滿足您的需求,但請注意,它在舊版瀏覽器中支持不好。你可以找到更多的信息on Dottoro

如果您需要覆蓋所有瀏覽器和所有用例(如您提到的),那麼實際上沒有更好的方法,然後定期使用JavaScript定期檢查(例如每500毫秒)輸入值。

你可以找到關於here on StackOverflow的討論。

+0

它工作完美,謝謝! – Xocoatzin 2012-08-01 16:57:49

-2

嘗試onChange事件,無論如何,每當輸入發生更改時都應該發出該事件。

+0

,這個或任何jQuery方法(.on()或.changed())都不起作用on input type =「text」 – Xocoatzin 2012-08-01 16:51:17

+1

onchange僅在退出文本框時(或者它失去焦點)發生,而不是在輸入輸入時立即發生。 – Ghopper21 2012-08-01 16:52:48

+0

@rushkeldon是真的,但那些信息是在我發佈我的答案後添加的。檢查問題的版本歷史... – 2016-03-29 20:00:08

相關問題