点击jQuery Mobile collapsible-set?

时间:2013-01-09 10:48:33

标签: jquery jquery-mobile click

如何绑定点击collapsible-set的一个元素?

<div data-role="content">
   <div data-role="collapsible-set" data-theme="d" data-content-theme="d">
       <div data-role="collapsible" id="expand">
        <h3>header</h3>
       </div>
   </div>
</div>

试试这个:

$(document).on('click', '#expand', function (e) {
        e.stopImmediatePropagation();
        e.preventDefault();
        console.log('ekb'); // my stuff
    });

演示:http://jsfiddle.net/pExFF/3/

1 个答案:

答案 0 :(得分:2)

似乎由于jQuery Mobile增强功能,单击标题时不会触发绑定到click事件的操作。 一个选项(我承认不是很漂亮)可能是在完成JQM增强之后将事件绑定到正确的DOM元素。如果你确实打算防止默认行为(这将阻止可以通过拆除折叠!),你可以使用这样的代码:

$(document).on('pageinit',function (f) {
  //pageinit event is triggered after the page is initialized

    $("#expand").find("*").click(function (e) {
      //apply to all descendant of your element "#expand a" selector would be sufficient to cover the header
         e.stopImmediatePropagation();
         e.preventDefault();
     console.log('ekb');
    });
});

结果显示为here