.js文件无法从链接的html file- jquery移动调用
-
10-10-2019 - |
题
我正在使用jQuery移动框架。我有2个HTML文件,每个文件每个都有两个按钮。单击一个按钮将导航到另一个HTML文件。每个HTML文件中加载的JavaScript将处理HTML文件中的单击事件。这里的问题是,从第二个HTML文件加载的.js无法从第一个HTML文件导航。它显示错误。
错误:p.attr(“ href”)未定义
源文件:file:///users/aspire/development/jquery%20mobile/sample/jquery.mobile-1.0a2.min.js
线:96
怎么了?
编辑:test.html
HTML标签。在头标签下
<link rel="stylesheet" href="jquery.mobile-1.0a2.min.css" />
<script src="jquery-1.4.4.min.js"></script>
<script src="jquery.mobile-1.0a2.min.js"></script>
<script type="text/javascript">
$(function(){
$('#test').click(function(){
alert('This is a general button!');
});
});
</script>
<Bodytag>
<div data-role="content">
<div data-role="page">
<a id="test" data-role="button" data-inline="true" data-theme="b">Click here</a>
<a href="~Development/JQuery Mobile/sample/test2.html" data-role="button" data-inline="true" >Navigate to two</a>
</div>
</div>
</Bodytag>
在第二个HTML中。 test2.html
HTML标签。在头标签下
<link rel="stylesheet" href="jquery.mobile-1.0a2.min.css" />
<script src="jquery-1.4.4.min.js"></script>
<script src="jquery.mobile-1.0a2.min.js"></script>
<script type="text/javascript">
$(function(){
$('#test2').click(function(){
alert('This is a general button!');
});
});
</script>
<Bodytag>
<div data-role="content">
<div data-role="page">
<a id="test2" data-role="button" data-inline="true" data-theme="b">Click here</a>
<a href="~Development/JQuery Mobile/sample/test.html" data-role="button" data-inline="true" >Navigate to two</a>
</div>
</div>
</Bodytag>
当Test2.html在浏览器中分别打开时,它可以正常工作。即使返回test.html,也会给出相同的错误。 JavaScript未调用。即仅一次,当.html首次启动时,JavaScript工作正常。导航到另一页后,未调用JavaScript。
解决方案
我遇到了同样的问题,第二html中的JavaScript只是没有运行。我通过添加rel =“外部”来强制卸载来解决问题。 IE
<a href="test2.html?" id="test2" data-role="button" data-inline="true" data-theme="b" rel="external">Click here</a>
希望这也对您有用。
其他提示
克莱门特(Clement)的答案有所帮助,因为没有Ajax呼叫更换您的链接。
正常的链接(不带RER =外部)被AJAX调用获取,并且仅将主体添加并添加到当前页面的DOM中。
这就是为什么您的JS Willot被称为。
所有JS必须链接到外部文件中的所有页面。
不隶属于 StackOverflow