【问题标题】:jQuery Click not working on iScroll 4?jQuery Click 在 iScroll 4 上不起作用?
【发布时间】:2013-01-20 23:12:59
【问题描述】:

我有这段代码,iScoll 4 可以正确显示:

<ul id="thelist">
<li id="1">Option 1</li>
<li id="2">Option 2</li>
<li id="3">Option 3</li>
<li id="4">Option 4</li>
</ul>

但是当我使用这个 jQuery 代码时它不起作用:

$("li").click(function(){
alert($(this).text());
});

最奇怪的是这段代码可以工作:

$("#thelist").click(function(){
alert($(this).text());
});

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: jquery iscroll4 iscroll


    【解决方案1】:

    有几种写法;我会尝试.on() 看看会发生什么:

    $('#thelist').on({
    
        click: function () { alert($(this).text()); }
    
    }, 'li');
    

    这是一个 jsfiddle 供测试。

    【讨论】:

    • 好的,很酷! .click() 在函数触发时绑定事件(在您的情况下很可能是在您运行 .ready() 函数时)并且如果在页面触发 .ready() 之后填充了 li 元素,则事件不会注册.使用 .on() 解决了这个问题,因为它甚至在元素 li 被渲染之前就注册了事件,我认为这是导致问题的原因。在处理运行时动态变化的 HTML 时使用 .on()。
    【解决方案2】:

    你试过$("#thelist").children("li").click(function() { ...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-04
      • 1970-01-01
      • 1970-01-01
      • 2014-12-27
      • 1970-01-01
      相关资源
      最近更新 更多