从版本1.8中的.live()方法升级后,jQuery 1.9中的.on()方法不起作用

时间:2013-04-08 04:45:05

标签: jquery

我正在尝试将jQuery程序从1.8版升级到1.9版。在早期版本.live()方法工作正常,但新的.on()方法没有。发送到Web服务检索数据的参数“KenID”是“未定义的”,因此不返回任何数据。此参数设置为sessionStorage项,因此我猜.on()方法无法访问它。我应该采取哪些措施才能使其发挥作用?

工作程序(jQuery 1.8):

$('#AddrList').live('pagebeforeshow', function (e, data)
    {
        alert(sessionStorage.KenID);    // shows correct KenID
        $.ajax({ 
            // extracting required data by sending KenID to the web service
        });
});

不工作的程序(jQuery 1.9):

$(document).on('pagebeforeshow', '#AddrList', function (e, data)
    {
        alert(sessionStorage.KenID);    // shows "undefined"
        $.ajax({
            // extracting required data by sending KenID to the web service
        });
});

谢谢你, 亚切克

1 个答案:

答案 0 :(得分:0)

我有两个简单的问题要问。

  1. 您确定#AddrList是您网页的ID吗?
  2. 在导航到sessionStorage.KenID的当前页面之前,您确定已经设置了值吗?
  3. 如果您对我上面提到的两个问题的答案都是肯定的,那么它应该可以正常工作。

    这是 Live example