2013-06-26 31 views
3

我正在開發一個JQM應用程序,我試圖在按下時顯示一個複選框來顯示額外的選項。我非常習慣使用$()。on('vclick')捕獲我的事件,但它似乎不適用於複選框。任何想法爲什麼?JQuery Mobile複選框沒有響應.on('vclick')

小提琴是在這裏:http://jsfiddle.net/T3qmG/43/

HTML

<body> 
    <div data-role="page"> 
     <div data-role="header"> 
      <h2>Checkbox Test</h2> 
     </div> 
     <div data-role="content"> 
       <input type="checkbox" id="checkbox-choice-1" /> 
       <label for="checkbox-choice-1">Click me</label> 
     </div> 
     <input id="vclick-test" type="button" value="A normal button"/> 
    </div> 
</body> 

的Javascript

$(document).ready(function(){ 
    $("#checkbox-choice-1").on('vclick', function(){ 
     alert("VClick event triggerd. Yet you'll never see this.."); 
    }); 
    $("#checkbox-choice-1").click(function(){ 
     alert("Click event triggerd."); 
    }); 
    $("#checkbox-choice-1").change(function(){ 
     alert("Change event triggerd."); 
    }); 
    $("#vclick-test").on('vclick', function(){ 
     alert("This proves that vclicks do work..."); 
    }); 
}); 

回答

2

似乎與[type=checkbox][type=radio]輸入接受click,僅限和tap

但是,如果您仍想使用vclick,則需要將此事件綁定到輸入的label

Demo

HTML

<input type="checkbox" id="checkbox-choice-1" /> 
<label for="checkbox-choice-1">Click me</label> 

JS

$("[for=checkbox-choice-1]").on('vclick', function() { 
    alert("VClick event triggerd. Yet you'll see THIS.."); 
}); 
+1

有道理!感謝奧馬爾 - 我會調整我的代碼。 – Anthony

+0

@歡迎您的到來:) – Omar