0

我不知道如何为Flip toggle switchtaphold注册事件。我按照这里的描述尝试了以下代码。

<div data-role="fieldcontain">
    Sex 
    <select name="sex" id="id" data-role="slider">
        <option value="off">Male</option>
        <option value="on">Female</option>
    </select>
</div>

 

$('#id').live('taphold', function(){     
    console.log("taphold");
});

并且,由于实际的<select>标签是隐藏的,而开关是按照html渲染的

<div role="application" class="ui-slider ui-slider-switch ui-btn-down-c ui-btn-corner-all ui-focus">
    <span class="ui-slider-label ui-slider-label-a ui-btn-active ui-btn-corner-all" role="img" style="width: 100%">Female</span>
    <span class="ui-slider-label ui-slider-label-b ui-btn-down-c ui-btn-corner-all" role="img" style="width: 0%">Male</span>
    <div class="ui-slider-inneroffset">
        <a href="#" class="ui-slider-handle ui-btn ui-shadow ui-btn-corner-all ui-slider-handle-snapping ui-focus ui-btn-up-c" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-theme="c" role="slider" aria-valuemin="0" aria-valuemax="1" aria-valuenow="on" aria-valuetext="Female" title="Female" aria-labelledby="eforms_patient_sex-label" style="left: 100%">
            <span class="ui-btn-inner ui-btn-corner-all">
                <span class="ui-btn-text"/>
            </span>
        </a>
    </div>
</div>

哪个是上面<select>标签的兄弟我也试过这个

$('#id').parent().find('[role="application"]').live('taphold', function(){
    console.log("taphold");
});

但 ner 确实有效。那么...... 如何为jQuery mobile Flip切换开关注册虚拟点击事件?

//编辑

我通过歌剧蜻蜓onclick向标签添加了一个功能,它起作用了。<div>因此,似乎将事件注册到<div>是正确的方法。但它不起作用,使用上面的代码。

4

1 回答 1

0

该事件称为taphold而不是 tabhold。

于 2012-11-21T09:11:19.573 回答