【问题标题】:jQuery importing jQueryjQuery 导入 jQuery
【发布时间】:2012-05-22 16:10:25
【问题描述】:

我有一个带有 jQ​​uery 和 JavaScript 的 HTML 页面。 我在 head 标签中导入我需要的库:

<link rel="stylesheet" href="http://code.jquery.com/ui/1.8.18/themes/base/jquery-ui.css" type="text/css" media="all" />
<link rel="stylesheet" href="http://static.jquery.com/ui/css/demo-docs-theme/ui.theme.css" type="text/css" media="all" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="http://code.jquery.com/ui/1.8.18/jquery-ui.min.js" type="text/javascript"></script>
<script src="http://jquery-ui.googlecode.com/svn/tags/latest/external/jquery.bgiframe-2.1.2.js" type="text/javascript"></script>
<script src="http://jquery-ui.googlecode.com/svn/tags/latest/ui/minified/i18n/jquery-ui-i18n.min.js" type="text/javascript"></script>
<script src="http://maps.googleapis.com/maps/api/js?sensor=false&amp;libraries=places" type="text/javascript"></script>

然后我在里面导入一些带有 jQ​​uery 的 html:

$('#cliente').click(function(){$('#container').load('/clienti/cliente');});

但是加载的页面内的 jQuery 不起作用。 (我确信代码是正确的,就像单独工作一样)。

我需要做点什么吗?我曾尝试在脚本之前导入导入页面中的库(超出预期),但无法正常工作。 我没有其他想法!

【问题讨论】:

  • 您还需要在 /clienti/cliente 中加载 jQuery,但无论如何这没有任何意义,据我所知,load 不会评估您的 js:S
  • 顺便说一句,您不应该直接从 Google 代码源代码控制加载 JS。这是一个重大的安全/稳定性问题。
  • 从 tags/latest 加载 jQuery 会带来麻烦。服务器日志显示/clienti/client调用成功了吗?
  • 脚本确实可以运行...
  • 我已经测试了很多东西,我知道导入的 Jquery 中的脚本可以正常工作,唯一不工作的是:

标签: javascript jquery google-app-engine


【解决方案1】:

.load() only works for HTML 您使用它的方式。 (参见标题为“脚本执行”的部分)。它不会评估您加载的 HTML 中的任何脚本。您想要的是使用后缀加载它,即

$('#cliente').click(function(){$('#container').load('/clienti/cliente.html');});

【讨论】:

  • 我是从 App Engine 加载的,所以我没有 html 文件,但每次调用都会生成它。
  • 如果您正在加载直接脚本,那么api.jquery.com/jQuery.getScript 可能适合您。
  • 是的,但我不能,我需要 15 的声望
  • 你可以接受任何声望,只要是你自己的问题。 (我认为你也可以投票,我不确定)。我刚刚为你的问题 +1,所以那里有一些声誉!
  • 完成。感谢+1。我是这个网站的新手。
【解决方案2】:

如果你的 JS 和 HTML 必须在同一个文件中,一个更好的方法是这样。我相信它会以这种方式评估 JS。

$('#cliente').click(function(){
    $.get('/clienti/cliente', function(data){
        $('#container').html(data);
    });        
});

或者,您可以将这两个项目(HTML 和 JS)作为文本传回

$('#cliente').click(function(){
    $.getJSON('/clienti/cliente', function(object){
        $('#container').html(object.html);
        $parseJSON(object.jscript);
    });        
});

否则,您将需要使用$.get() 和$.getJSON() 分两次获取html和js。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-19
    • 2017-10-25
    • 2020-12-29
    • 2018-08-07
    • 1970-01-01
    相关资源
    最近更新 更多