2013-05-06 34 views
1

對於JS和JQuery,我非常非常新,所以請耐心等待。從點擊事件中刪除一個函數

我有一個下拉列表 - 如果你點擊列表,它將調用一個函數,它將打開一個浮動框(div)。現在我們希望該框在登錄時顯示,斷開與點擊事件的關係。但是,如果我只是將代碼從函數中取出,請將其放置在腳本中 - 就像其他div一樣,要麼我的頁面呈現錯誤,要麼沒有顯示任何內容。

這裏是什麼在我的HTML:

<li><input class="option_btn room_search" value="Search for Room"/></li> 

,這裏是我的腳本看起來像:

$("input.room_search").click(function() { 
    //var roomSearch = new jabberwerx.ui.MUCSearchView(muc, demo_config.conferencealias); 

    var roomSearch = new jabberwerx.ui.MUCSearchView(muc, conferencealias); 

    roomSearch.event("actionComplete").bind(function(evt) { 
     try { 
      try this... 

     } catch (e) { 
      alert("An exception occurred while trying to create/join the MUC room.\n Details: " + 
        e.message); 
     } 
     roomSearch.destroy(); 
    }); 
    roomSearch.render().appendTo(".muc_search"); 
    roomSearch.dimensions({width:600, height:400});     
}); 

請幫助我,我試圖找到他所關注的論壇,我不認爲我有正確的關鍵字。謝謝!

+0

當您刪除其單擊處理你把它放在一個'$(文件)。就緒代碼(函數(){/ *你的代碼在這裏* /});'處理器呢?你的代碼試圖附加到'「.muc_search」'元素,所以你需要在元素解析後運行它。 – nnnnnn 2013-05-06 21:21:03

+0

是的,它在處理程序中 - 儘管帶有click事件的原始代碼也在處理程序中。 你對「你的代碼試圖追加到」.muc_search「元素」。我改變了「.muc_search」到‘div.muc_search’我的頁面呈現正確 - 仍然沒有顯示,雖然在默認情況下的浮箱。 同時,我發現我能在這樣在日誌中強制單擊事件現在,我可以用這個解決辦法: $(「input.room_search」)觸發(「點擊」)。 – 2013-05-07 14:52:57

回答

0

我不完全搞定你的問題,但看問題,點擊事件可以很容易地通過

$('#mySelectr').unbind('click'); 

解除綁定裏面的解除綁定functon,給你想要解除綁定任何事件的名稱。

相關問題