我正在尝试使用ASP.NET运行jQuery和WebMethods;我已将ScriptManager添加到母版页,并在内容页上添加了内容
<asp:Content ID="ch" ContentPlaceHolderID="cHead" runat="server">
<script language="javascript" type="text/javascript">
$(document).ready(function () {
alert("hi");
});
</script>
</asp:Content>
然而,这永远不会发生,我错过了什么?
答案 0 :(得分:29)
验证以下步骤。
那些事情应该解决问题
答案 1 :(得分:21)
ready
停止工作时的一种可能性是,您在$(document).ready(...)
或$(...)
调用中的某个地方发出了javascript代码,该代码正在停止处理ready
或{{1}}的其余部分{1}}块。确定发生这种情况的单个页面,并检查其在其他地方是否存在错误。
答案 2 :(得分:8)
而不是使用它:
$(document).ready(function() { /* your code */ });
使用此:
jQuery(function($) { /* your code */ })(jQuery);
它更简洁并且做同样的事情,它也不依赖于$
变量作为jQuery对象。
答案 3 :(得分:1)
如果主机页面为HTTPS且包含的javascript源路径为HTTP,则会发生这种情况。这两个协议必须相同,HTTPS。告诉尾标将在Firebug下检查,并注意到JS被“拒绝访问”。
答案 4 :(得分:1)
我从其他js
项目中复制粘贴了我的内联.php
,在该代码块中有一些php
代码输出了一些值,因为变量不是&#39;在我的新文件中定义,它产生了典型的php
undefined warning/error
,因此js
代码被搞砸了,并且没有响应任何事件,即使alert("xyz");
也会默默地失败!!虽然错误的行接近文件的末尾,但js
仍然会死掉,
没有任何错误! &GT;:(强>
现在有一件事令人困惑的是,调试器控制台/输出没有提供任何提示/错误/警告,js
正在无声地死亡。
因此,请尝试检查您是否php
使用js
进行内联编码,并查看是否输出了任何错误。删除/排序后,js
应该可以正常工作。
答案 5 :(得分:1)
function pageLoad() { console.log('pageLoad'); $(document).ready(function () { alert("hi"); }); };
它的ScriptManager ajax解决了这个问题 使用pageLoad()代替
答案 6 :(得分:0)
一种可能性,看看:
<script language="javascript" type="text/javascript" src="./jquery-3.1.1.slim.min.js" />
VS
<script language="javascript" type="text/javascript" src="./jquery-3.1.1.slim.min.js"></script>
第一种方法实际上是错误的,但浏览器根本没有抱怨。 你需要确保你确实以正确的方式关闭了javascript标签。
答案 7 :(得分:0)
- 在jQuery链接后检查是否必须编写或加载脚本。
<script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>
//after link >> write codes...
<script>
$(document).ready(function(){
//your code
})(jQuery);
</script>
答案 8 :(得分:-1)
我有一个类似的问题,但是我是这样解决的:
// wait until DOM is loaded
$(document).ready(function(){
console.log("DOM is ready");
// wait until window is loaded (images, links etc...)
window.onload = function() {
console.log("window is loaded");
var your_html_element = document.getElementById("your_html_element_ID"),
};
});