JQuery Mobile复选框没有响应.on('vclick')

时间:2013-06-26 16:32:43

标签: jquery jquery-mobile event-handling

我正在开发一个JQM应用程序,我正试图在按下时显示一个复选框显示额外的选项。我已经习惯使用$()。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...");
    });
});

1 个答案:

答案 0 :(得分:2)

似乎[type=checkbox][type=radio]的输入仅接受clickchangetap

但是,如果您仍想使用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..");
});