2013-06-26 2 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, change и 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