我已经读过这些书了,我已经用Google搜索了它,但我仍然没有得到任何结果。我有一个MVC应用程序,我将jquery的引用放入母版页,以及注册初始化代码,如下所示:
<script src="~/Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script src="~/Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
<title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
<script>
$(function () {
$("#txt").click(function () {
var $ctrl = $('<input/>').attr({ type: 'text', name: 'text', value: 'text' }).addClass("text");
$("#holder").append($ctrl);
});
});
</script>
该代码的目的是将文本框添加到ID为#34; div&#34;的div中。当id为&#34; txt&#34;的按钮时被压了。我从网上得到了这个代码,它在那个页面上工作得很好。我不能再找到它了,或者我会包含链接。 我做了这样的按钮:
<input type="button" id="txt" value="Add TextBox" />
<div id="holder"> this is the holder </div>
但是,按下按钮时绝对没有任何反应。所有我想知道的是,JQUERY CODE去了哪里?我是否将所有功能都放在母版页的头部?我把它放在每个aspx页面?我把它放在一个单独的文件中,如果是这样,我在哪里以及如何引用它?所有的书对我来说都没有任何意义,我只是从jquery开始,这个驼峰是阻止我开始进入它的原因。 jquery代码在哪里?请帮忙。
答案 0 :(得分:0)
<script src="@Url.Content("~/Scripts/jquery-1.4.1.js")" type="text/javascript"></script>
答案 1 :(得分:0)
答案 2 :(得分:-1)
首先,你的jQuery代码没有运行的原因是因为~
对浏览器没有意义。这需要切换到绝对参考:
<script src="/Scripts/jquery-1.4.1.js" type="text/javascript"></script>
..或者需要使用运行服务器端的代码将其转换为绝对引用:
// Using the ascx view engine
<script src="<%: Url.Content("/Scripts/jquery-1.4.1.js") %>" type="text/javascript"></script>
// Using the razor view engine
<script src="@Url.Content("/Scripts/jquery-1.4.1.js")" type="text/javascript"></script>
除此之外,您可以自由地将jQuery代码放在最有意义的地方。我个人发现的最好的策略是尽可能多地将javascript放入一个在头部引用的静态javascript文件中。除了保持你的javascript和标记分开(这看起来好多了)之外,还有一个额外的好处,就是将大量静态代码放入一个可以被浏览器缓存的静态文件中,从而减少跨越每个请求都有电线。
PS:-vsdoc.js文件纯粹是出于intellisense的缘故,不应该包含在实际的标记中。 VS.NET将自动检测其存在并在知道您正在使用相应的jquery文件时使用它。
答案 3 :(得分:-1)
不应该是你的代码:
<script>
$(function () {
$("#txt").click(function () {
var $ctrl = $('<input/>').attr({ type: 'text', name: 'text', value: 'text' }).addClass("text");
$("#holder").append($ctrl);
});
});
</script>
是否包含在jquery $(document).ready()调用中?
所以尝试这样的事情:
<script>
$(document).ready(function(){
$("#txt").click(function () {
var $ctrl = $('<input/>').attr({ type: 'text', name: 'text', value: 'text' }).addClass("text");
$("#holder").append($ctrl);
});
});
</script>