javascript 指定綁定函數名稱,並且傳遞參數


 
<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 上的所有處理函數。也是不行的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM