$("#cbutton1").bind("click",{"id":"111","name":"aaa"},getData); 這一句給 cbutton1 指定了 click 事件的綁定函數為 getData,並且向該函數傳遞了JSON格式參數 {"id":"111", "name":"aaa"}. ...
<html> <head> <title> New Document </title> <script type="text/javascript" src="jquery-1.11.1.min.js"></script> </head> <body> <div id="div1" value="div1Value" style="border: 1px red solid;padding:5px;"> <input type='button' value='按鈕' id='cbutton1' name='cbutton1'/> </div> </body> <script type="text/javascript"> $(function(){ $("#cbutton1").bind("click",{"id":"111","name":"aaa"},getData); function getData(event){ debugger; console.log(event.data.id); console.log(event.data["name"]) var dd=JSON.stringify(event.data);//將傳過來的參數轉換成json字元串 console.log(dd); } }); </script> </html>
$("#cbutton1").bind("click",{"id":"111","name":"aaa"},getData);
這一句給 cbutton1 指定了 click 事件的綁定函數為 getData,並且向該函數傳遞了JSON格式參數 {"id":"111", "name":"aaa"}.
在函數 getData 中可以獲取到傳遞過來的參數:
function getData(event){
var param = event.data;
}
在一些特殊情況下可能需要使用這種方式進行指定函數名稱的事件綁定,而不能使用匿名函數來處理,因為,我們可能需要進行針對性的清理:
$("#cbutton1").off("click", getData);
比如 cbutton1 上有多個 click 事件的處理函數,我需求清理某一個 處理函數,此時就需要如上這樣進行處理了,而不能使用匿名函數。
$("#cbutton1").off("click");
這樣會清理 cbutton1 上的所有處理函數。也是不行的。