JavaScript事件的繫結與取消和事件監聽
阿新 • • 發佈:2019-01-12
很多情況下,比如我們想對一個文字框或者按鈕進行事件繫結的時候,一般直接在他上面寫上什麼onclick等等的事
件,但是對於這樣的時間的去除,比如希望一個按鈕在這裡僅僅按下一次,然後再次按下的時候就不能有什麼效果了,
這就需要對事件 的監聽和繫結還有取消實行動態的機制,下面我們來演示一個小例子來說明一下事件的繫結和取消機
制/
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>test6.html</title> <script type="text/javascript"> function test(){ window.alert("您投了一次票"); document.getElementById("1").detachEvent("onclick",test); } </script > </head> <body> <input type="button" value="投票" id="1"/> <script type="text/javascript"> document.getElementById("1").attachEvent("onclick",test); </script> </body> </html>
這裡使用document.getElementById("1").attachEvent("onclick",test);進行動態的事件繫結,使用
document.getElementById("1").detachEvent("onclick",test)進行動態的時間的取消,這樣就實現了這個事件只能相應一次,下
次再點選這個按鈕的時候就不會再產生什麼效果。
下面再演示一個時時監聽鍵盤事件,判斷輸入的是否是數字,如果不是數字直接動態提示,然後拒絕其輸入
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>test7.html</title> <script type="text/javascript"> function test(event){ //使用者每按下一個按鍵,就去判斷是不是數字 if(event.keyCode<48 || event.keyCode > 57){ window.alert("您輸入的不是一個數字"); return false; } } </script> </head> <body> <input type="text" onkeypress="return test(event);" />請輸入數字 </body></html>
這裡的event就是一個事件物件,他能返回很多的資訊,具體請參考文件。
再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!https://blog.csdn.net/jiangjunshow