我在 jQuery Mobile 中有一个页面是主页。它有一个项目列表,当您单击一个项目时,它会加载有关它的信息。为了动态加载信息,它调用外部页面并将其全部调出。该外部页面上有一个小脚本,允许用户处理单击按钮(向服务器提交一些信息)。
当您单独加载页面时,它可以很好地处理脚本。当您将其作为对话框加载时,脚本不会加载。
我尝试将脚本放入页面本身。我尝试将脚本放在加载对话框的主页上。没有一个有效。我已经使用控制台进行了调试,但我无法让它读取任何特定于外部页面对话框的脚本。
是否有什么技巧,或者对话框只是忽略任何脚本?有办法解决吗?在解决此问题之前,是否有办法将页面的样式完全设置为看起来像对话框?
编辑: 我只是在没有对话框的情况下完成了它,它仍然在这样做。如果我在关闭 AJAX 的情况下单独加载页面,一切正常。我需要保留页面转换和加载对话框,因此无法将其关闭。
我目前在头部的外部页面中使用:
<script>
$(document).delegate("#productinfo", "pagecreate", function(){
//code here
});
</script>
最佳答案
Posting the answer edited into the question:
我通过将脚本放在页面 div 中使其工作:
<div data-role="page" id="productinfo"> <!-- /markup--> </div>
...并将其放在所有内容之后的最后。
一旦我解决了这个问题,它有时会起作用,而其他时候却不起作用。直到我意识到按钮的 z-index 已更改为 0 时,我才弄明白,这样每当我为该字段选择内容时,它就不会优先于 jQuery UI 自动完成。我将按钮上的 z-index 设置为 1(默认值为 2,它覆盖了 1 处的 jQUI 自动完成),现在它似乎可以工作了。
我知道这里没有太多事件,这可能是一个以前被问过的问题,但我无法在谷歌上搜索任何关于这个主题的东西来挽救我的生命。希望这对将来的人有所帮助。
关于javascript - 允许在 jQuery Mobile 对话框中使用脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8109353/