0

フリップトグルスイッチtapholdのイベントを登録する方法がわかりません。私はここで説明されているように次のコードで試しました。

<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モバイルフリップトグルスイッチの仮想タップホールドイベントを登録するにはどうすればよいですか?

//編集

オペラトンボを介してタグにonclick関数を追加しましたが、機能しました。<div>したがって、イベントをに登録すること<div>が正しいアプローチであることがわかります。ただし、上記のコードでは機能しません。

4

1 に答える 1

0

このイベントは、タブホールドではなくタップホールドと呼ばれます

于 2012-11-21T09:11:19.573 に答える