在ASPX页面中使用JQuery时,有什么理由不起作用?我们一直试图像这样简单地打电话:
$(document).ready(function() {
alert("This is SPARTA!!!!!!!!!");
});
永远不会显示警告框。我之前有过使用JS和ASP.Net的经验,我知道在JS之后我必须返回false:
<input type=button value="Button 1"
onclick='button_1_onclick();return false;'>
是否有类似的事情要做?
编辑:我在调试器模式下运行了Firebug,JS从未运行过,所有的lib都出现在页面中。我唯一能想到的就是未触发就绪事件或类似事件。
答案 0 :(得分:4)
ASP.NET和JQuery非常合作(以及ASP.NET AJAX库),我在最近的ASP.NET 3.5 Web应用程序中一起使用了所有这些。有一些oddities to be aware of,但总的来说工作很好。
首先,您需要确保您的脚本标记包含jQuery文件的src -
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
我通常通过向ScriptManager添加ScriptReference来完成此操作,但无论哪种方式都有效。然后将您的jQuery代码放在脚本标记之后 -
$(function() { alert("This is SPARTA!!!!!!!!!"); });
如果你的jQuery文件在一个文件夹中并且你在你的站点上设置了某种身份验证,那么你需要通过修改web.config来确保在你使用jQuery的页面上可以访问该文件夹(很像你需要处理图像和CSS)。我以前被这个绊了。您可以通过展开相关的脚本节点来检查firebug以查看jQuery代码是否可访问(即可见);如果你看到某种HTTP错误,那么可能是由于脚本无法访问。
正如其他人已经说过的那样,可能会与其他JavaScript库发生冲突。如果还使用库使用以下模式
,您仍然可以使用$速记(function($) {
$(function() { alert("This is SPARTA!!!!!!!!!"); });
})(jQuery);
这意味着外部函数范围内的$是jQuery对象的简写。
答案 1 :(得分:2)
您是否同时使用其他图书馆? $可能已经重新分配,试试这个:
jQuery(document).ready(function() {
alert("This is SPARTA!!!!!!!!!");
});
答案 2 :(得分:1)
这可能有两个原因:
1)你可能错过了
<script language="JavaScript" src="JQuery.js"></script>
语句。
2)警报结束时缺少分号。它应该是:
$(document).ready(function() { alert("This is SPARTA!!!!!!!!!"); });
答案 3 :(得分:1)
您是否尝试过在任何CSS包含后添加JavaScript引用?
由于未加载CSS类,我遇到了$(document).ready
未运行的问题。移动jQuery似乎可以解决它。
可能与您的问题不一样,但值得一试。
答案 4 :(得分:1)
也许你和我犯了同样的错误:
我在母版页中包含了jQuery脚本参考。结果是.Aspx页面找不到JQuery.js文件,因为我将它放在不同的文件夹中。
在母版页中,我现在使用
包含jQuery<script src="<%= this.ResolveUrl("~/js/jquery.js") %>"></script>
答案 5 :(得分:0)
我试过这个。你需要引用jquery库,你需要有$(document).ready函数。您还需要使用类引用您的按钮,以便jquery可以找到您要查找的按钮。然后告诉jquery你将如何处理该对象,例如使用.click()。
这是一些代码: 引用jquery库。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
在脚本标记中包含以下内容。
$(document).ready(function()
{
$('.clicker').click(function()
{
alert('This is SPARTA!!!!');
});
});
然后在页面的HTML中按下这样的按钮:
<input type="button" value="Show Alert" class="clicker" />
希望这会有所帮助。