3
jQuery Mobile为我们提供了这些不错的自定义选择菜单,其中菜单以叠加形式出现。我试图将onclick函数附加到这些选项,但是由于jQuery Mobile用自己生成的标签替换了选项标签。我似乎无法获得附加到“选项”(实际上是作为样式链接生成)的函数。Fire onClick事件jQuery Mobile选择菜单
jQuery Mobile为我们提供了这些不错的自定义选择菜单,其中菜单以叠加形式出现。我试图将onclick函数附加到这些选项,但是由于jQuery Mobile用自己生成的标签替换了选项标签。我似乎无法获得附加到“选项”(实际上是作为样式链接生成)的函数。Fire onClick事件jQuery Mobile选择菜单
而不是绑定到click
事件为“假选项”的元素,怎么样结合到change
事件的<select>
元素:
$('#the-select').on('change', function() {
var $this = $(this),
val = $this.val();
});
这里是一个演示:http://jsfiddle.net/PQ39n/
注.on()
是jQuery 1.7中的新增功能,在这种情况下与.bind()
相同。
编辑
如果你想绑定到click
事件为 “假选项” 元素:
$('#the-page').on('click', '.ui-selectmenu-list > li', function() {
alert('onClick = ' + $('#the-select').children().eq($(this).attr('data-option-index')).val());
});
这里是一个演示:http://jsfiddle.net/PQ39n/(同样的demo,如上)
在此示例中,.on()
与.delegate()
相同。
在select上绑定到'change'事件是一个很好的回退,但它并不总是有用,因为它的响应非常慢。如果您想提供触觉反馈(选项选择时出现蜂鸣),则等待反馈,直到选择菜单更改为止。 – Wytze