看板 Ajax 關於我們 聯絡資訊
一個怪問題問問大家 我最近使用一些js的open source 裡面設計在textarea輸入文字之後,就會根據輸入觸發別的動作 但是,我用自己的function去改textarea的字的時候 如: document.myForm.mytextarea.value = "abcdefg"; 他字雖然變了,但卻不會觸發應該有的其他動作 我看了一下原始碼他似乎是用onkeyup和onmouseup去觸發那些動作 所以我沒有經由鍵盤或滑鼠就直接改變其值的話,就無法觸發這些動作 想問一下有沒有可能用代碼的方式(例如換行等於\n ?) 去觸發onkeyup或onmouseup呢? 當然我也可以去研究它原始碼從哪裏叫function的 但有點亂我怕自己亂接未來會有bug...如果能直接照規矩觸發就比較安全 --- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.61.45 ※ 編輯: BBSealion 來自: 220.133.61.45 (11/21 11:44)
transmituni:有試過去偵測鍵盤按到enter鍵?~不太確定是否是您要的 11/21 12:08
BBSealion:試過\r和\n\r都沒有效果(但都能達到基本的換行效果XD) 11/21 12:22
BBSealion:\r\n也是 (還有其他的可能嗎?) 或是有哪個function是跟 11/21 12:23
BBSealion:據只要文字有變動就會呼叫的嗎? 我可以試著塞進去看看 11/21 12:23
BBSealion:textarea.onchange()好像沒效ORZ 11/21 12:24
LaPass:好像有看過.... 11/21 12:30
transmituni:像這樣嗎?? http://jsfiddle.net/M8VnP/ 11/21 14:22
transmituni:再把偵測到的要做的事件換成你要做的 11/21 14:23
transmituni:不確定是否是您要的 11/21 14:23
Canboo:自己寫的function跑完再直接onkey...的function 11/21 14:28
legnaleurc:對呀,為什麼不直接呼叫 callback function? 11/21 16:47
BBSealion:好問題 我直接call那個function他不會動 他用了個變數 11/21 17:04
BBSealion:a到處都是a我找不到他原本怎麼定義他的 11/21 17:06
BBSealion:是可以研究一下他的邏輯啦 只是有點懶XD 想說會不會有 11/21 17:07
BBSealion:很簡單的做法 如果沒有的話當然還是花點時間研究了... 11/21 17:07
mrbigmouth:用jQuery的trigger模擬看看 11/22 11:19
BBSealion:對我今早用trigger成功了XD 感謝各位! 11/22 11:53
mrbigmouth:因為呼叫callback function時的this不同或event obj沒 11/22 17:15
mrbigmouth:丟吧 11/22 17:15