jquery longclick on <option> element </option>

时间:2013-09-09 10:14:09

标签: jquery html5 events long-click

我正在尝试从下拉菜单中触发选项上的事件。 例如:

<select id="select1">
<option id="1">1</option>
<option id="2">1</option>
</select>

我在http://api.jquerymobile.com/taphold/上使用了一个例子并将事件附加到了 id为1的选项:

$( "#1" ).bind( "taphold", tapholdHandler );

为了测试功能,tapholdHandler只是一个简单的警报。 但是没有用。

另外,我试图使用

jQuery( "#1" ).on( "tap", function( event ) {alert('works!');} )

但没有成功。 但是,我发现可以将它附加到select元素,但它适用于select标记中的所有选项元素。 如何在单个选项元素上触发longclick / taphold事件? 我想做的是能够长按(按住点击)所需的项目,并显示一个对话框,提供从列表中删除项目。

3 个答案:

答案 0 :(得分:1)

你的选择器错了

$('#1')将选择id = 1

的元素

将您的代码更改为

$( "#1" ).bind( "taphold", tapholdHandler );

您无法以任何实际精度将事件绑定到<option>元素。但是,您可以在其他地方声明绑定到本案例中选择菜单的change事件

$('#select1').change(function(){
    var selected_option = $(this).find(':selected');
});

答案 1 :(得分:0)

像这样使用

id-selector扇区

$('#1')将选择id = 1

的元素

将您的代码更改为

$( "#1" ).bind( "taphold", tapholdHandler );

$( "#1" ).on( "tap", function( event ) {alert('works!');} )

答案 2 :(得分:0)

如何绑定到&#39;更改&#39;?这将在选择或更改元素时触发。

    $('#select1').change(function(){
         // action here
     });