2015-06-30 50 views
1

HTML觸發輸入點擊,不是因爲它的標籤工作

<label class="filter-label" for="myId"> 
    <input class="filter-checkbox" type="checkbox" id="myId"/> 
    <span>@item.Text</span> 
</label> 

的Javascript

$('.filter-checkbox').click(function() { 
    //do something 
} 


//in another function I am calling below 
$('#myId').trigger("click"); 

我不知道原因,但點擊觸發工作複選框,而不是標籤我只是想要觸發標籤點擊。

我認爲當我爲#myId標籤調用觸發器時還會再次觸發單擊事件,則什麼都不會發生。我怎麼解決這個問題 ?

+1

這聽起來像是一個A-B問題。你究竟想達到什麼目的? –

+0

@zipzit nope它不是唯一的 –

+0

這對我有效......假設你期待'#myId'觸發'.filter-checkbox'處理程序 – CodingIntrigue

回答

1

這是你想達到什麼..

$(".filter-label").on("click",function(){ 
     alert("aa"); 
     }); 

    $("#bb").on("click",function(e){ 
     e.preventDefault(); 
     $("#myId").trigger("click"); 
     alert("a"); 
     }); 

FIDDLE DEMO

+0

因爲e.preventDefault(); –

+0

歡呼@MehmetErenYener –

0

你可以試試這個代碼:

$('.filter-checkbox').click(function() { 
    //do something 
    alert('checkbox clicked'); 
}); 

在其他功能我下面叫:

$('#myId').trigger("click");