0

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

<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 事件?我想做的是能够长按(按住单击)所需的项目并显示一个对话框,该对话框提供从列表中删除该项目。

4

3 回答 3

1

你的选择器是错误的

$('#1')将选择一个 id=1 的元素

将您的代码更改为

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

您不能<option>以任何实际精度将事件绑定到元素。但是,在这种情况下,您可以如其他地方所述绑定到change选择菜单的事件

$('#select1').change(function(){
    var selected_option = $(this).find(':selected');
});
于 2013-09-09T10:15:39.330 回答
0

id-selector扇区是这样使用的

$('#1')将选择一个 id=1 的元素

将您的代码更改为

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

$( "#1" ).on( "tap", function( event ) {alert('works!');} )
于 2013-09-09T10:17:12.697 回答
0

绑定到“改变”怎么样?这将在选择或更改元素时触发。

    $('#select1').change(function(){
         // action here
     });
于 2013-09-09T10:18:12.463 回答