为jQuery mobile Flip切换开关注册虚拟taphold事件

时间:2012-11-07 14:12:57

标签: jquery-mobile jquery

我无法弄清楚如何为Flip toggle switch注册taphold事件。我按照here所述尝试了以下代码。

<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");
});

但是幽冥确实有效。所以... 如何为jQuery mobile Flip切换开关注册虚拟taphold事件?

//修改

我通过opera dragonfly向onclick标记添加了<div>函数,并且它有效。因此,将事件注册到<div>的接缝是正确的方法。但是使用上面的代码它不起作用。

1 个答案:

答案 0 :(得分:0)

该事件被称为 taphold 而非表格。

相关问题