フリップトグルスイッチ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>
が正しいアプローチであることがわかります。ただし、上記のコードでは機能しません。