2009-10-26 56 views
1

至少定義我的問題很簡單...我有一個輸入控件(文本)和一個javascript函數,它將輸入控件中的文本截斷爲15個字符。即如果長度超過限制,則將左側(文本15)設置回控件。使用Javascript檢測輸入(文本)中的拖放事件

這是通過onkeyup事件處理...

現在,當用戶拖動和下降直接文本輸入控制,因爲沒有鍵盤,系統不會觸發事件。在那種情況下,哪個事件觸發...或者如何在該場景中執行javascript函數。

回答

1

除了onkeyup,請嘗試處理onmouseup。當你在輸入框中釋放你的鼠標按鈕時(換句話說,當你放下文本時)它應該被觸發。


編輯:如果鼠標按鈕被點擊輸入框也顯然onmouseup纔會觸發,但是當輸入框獲得焦點,當你丟棄文本onfocus應觸發。

例子:

document.getElementById('elementid').onkeyup = function() 
{ 
    // Restrict value length to 15 characters 
}; 
document.getElementById('elementid').onfocus = document.getElementById('test').onkeyup; 
+0

onmouseup事件觸發,否則當鼠標按鈕被釋放的文本框,但不是當拖放發生......我不知道爲什麼。 – 2009-10-26 14:07:40

+0

很酷...這個功能非常好。 – 2009-10-26 14:10:44

+1

在Firefox 3.6中,當文本被拖放到textarea時,textarea不會獲得焦點。 – 2011-04-18 19:17:15