2011-06-21 62 views
0

看到這個小提琴:http://jsfiddle.net/Bg9Zx/5/點擊事件不在jQuery Mobile中觸發?

相關代碼:

<fieldset data-role="controlgroup" data-type="horizontal" id="locate-me"> 
<input type="checkbox" name="loc" id="loc" /> 
<label for="loc">Locate me</label> 
</fieldset> 
$("#loc").click(function(){ 
    alert('locate clicked!'); 
}); 

爲什麼沒有。點擊()事件觸發?如果我沒有引用jQuery Mobile,則工作得很好。

謝謝!

回答

6

你在推測它錯了。 #loc引用一個元素的ID來代替它。

<label class="test" for="loc">Locate me</label> 

$(".test").click(function(){ 
    alert('locate clicked!'); 
}); 
+1

哦,我看到了什麼問題 - 在jQuery Mobile中的水平復選框中,複選框本身isn'不可見,只有標籤,所以我需要拿起標籤上的點擊事件。謝謝! – Richard

+0

歡迎您! – Dynamikus

+0

如何獲取選中的屬性? –

0

可能是因爲你的jQuery代碼沒有包含在腳本標記中。請嘗試以下操作:

<fieldset data-role="controlgroup" data-type="horizontal" id="locate-me"> 
<input type="checkbox" name="loc" id="loc" /> 
<label for="loc">Locate me</label> 
</fieldset> 
<script type="text/javascript"> 
$("#loc").click(function(){ 
    alert('locate clicked!'); 
}); 
</script> 

希望有所幫助。 戴夫

+0

對不起,我只是爲了方便而張貼它。看小提琴。 – Richard

+0

啊,好的:-) - 沒有與jQuery Mobile合作過,所以只是在第一件事情上跳到我身上 –