【问题标题】:Onclick not working in panel after page change页面更改后,Onclick 在面板中不起作用
【发布时间】:2014-08-13 11:02:54
【问题描述】:

我正在使用 jquery mobile 和 php 创建一个小型 webapp。我有一个问题,我在面板中有一个菜单,我需要从中运行 onclick 事件。当使用data-ajax='false' 重新加载页面或运行页面刷新时,这可以正常工作。但是,当我在页面更改后尝试使用该事件时,它根本没有响应。

这是我的点击代码

    $('#searchOptionMap').click(function()
        {
            window.alert("map clicked ");
        });

你可以在这里看到 js fiddle http://jsfiddle.net/jbcvnz0p/

  1. 如果您转到第 1 页 - 面板点击 - 地图点击出现警报

  2. 如果您随后导航到第 2 页 - 面板单击 - 地图单击,则不会出现警报

  3. 如果您停留在第 2 页并单击可折叠地图 - 会出现警报

您可以看到,相同的 onclick 事件适用于面板外部的可折叠集合,但不适用于面板内部。除了使用data-ajax='false' 或运行页面刷新之外,还有什么解决方法吗?

【问题讨论】:

  • 它开始警觉了。你想要什么?
  • 不,当您转到第 2 页时,它不会发出警报,唯一发出警报的面板是在第 1 页上 - 生病编辑我的问题,也许我不清楚
  • 第二页有提示。
  • 您使用的是哪个版本的浏览器?
  • 在 chrome、safari、ie & firefox 中运行它。您确定要转到第 2 页 - 面板 - 点击地图

标签: javascript ajax jquery-mobile jquery-mobile-panel


【解决方案1】:

您有两个具有相同 id 的 div,当您使用 jQuery 使用 id 绑定某些东西时,它只会执行第一个。

$('#searchOptionMap').click(function()
    {
        window.alert("map clicked");
    });

因此,请改用一个类,或者如果两个页面都使用同一个面板,则将面板设为外部。

(#searchOptionMap2 在这种情况下有效,因为只有其中一个)

【讨论】:

  • @Janey 请用您实际使用的内容更新您的帖子。您上面的代码和小提琴没有帮助。
  • 这是我正在使用的代码,除了面板位于外部文件中 - 我无法在 JS fiddle 中重现它
猜你喜欢
  • 2013-08-07
  • 1970-01-01
  • 1970-01-01
  • 2016-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 2015-01-18
相关资源
最近更新 更多