自定义js文件中的javascript onclick null
我试图简单地检测单击链接以显示警报框。无论何时我将脚本放在php文件中,我的a链接所在的位置,它都可以正常工作,但无论何时我将脚本放在自定义JS文件中,它都不会检测到它,并且我会收到错误“uncaughtTypeError:cannotsetproperty”onclick“of null” php页面和定制js页面之间的链接确实有效,因为我在页面上有以前的工作代码。它只是在外部脚本中检测不到我的链接 HTML 更新-忘记提及对不起,我的a链接嵌套在名为“ConfirmHoliday”的div中自定义js文件中的javascript onclick null,javascript,html,Javascript,Html,我试图简单地检测单击链接以显示警报框。无论何时我将脚本放在php文件中,我的a链接所在的位置,它都可以正常工作,但无论何时我将脚本放在自定义JS文件中,它都不会检测到它,并且我会收到错误“uncaughtTypeError:cannotsetproperty”onclick“of null” php页面和定制js页面之间的链接确实有效,因为我在页面上有以前的工作代码。它只是在外部脚本中检测不到我的链接 HTML 更新-忘记提及对不起,我的a链接嵌套在名为“ConfirmHoliday”的div中
我的自定义JS中有JS代码操作ConfirmHoliday div,因此它不能在之后加载,因为它现在发现它的父div非常好。javascript文件在创建元素之前运行,因此它不存在。要解决此问题,您有两个选项: 1) 用
窗口环绕代码。onload
功能
window.onload = function () {
// Your code here
};
2) 将它放在一个单独的js文件中,并向脚本标记添加一个defer属性
<script src="yourScript.js" defer="defer"></script>
3) 将脚本标记放在锚标记之后,javascript文件在创建元素之前运行,因此它不存在。要解决此问题,您有两个选项: 1) 用
窗口环绕代码。onload
功能
window.onload = function () {
// Your code here
};
2) 将它放在一个单独的js文件中,并向脚本标记添加一个defer属性
<script src="yourScript.js" defer="defer"></script>
3) 将脚本标记放在锚点标记之后它试图在ConfirmHolidayClose元素存在之前访问它,可能吗?你的JS在你的页面中加载到哪里?我在猜你的
一些解决方案:
1) 将脚本移动到页面底部,就在
2) 将JS封装在dom就绪函数中,这确保在dom树存在之前不会运行JS。使用jQuery最简单,下面的示例
jQuery示例
$(function() {
document.getElementById("ConfirmHolidayClose").onclick=function(){
alert("Working");
}
});
document.addEventListener("DOMContentLoaded", function() {
document.getElementById("ConfirmHolidayClose").onclick=function(){
alert("Working");
}
});
普通示例
$(function() {
document.getElementById("ConfirmHolidayClose").onclick=function(){
alert("Working");
}
});
document.addEventListener("DOMContentLoaded", function() {
document.getElementById("ConfirmHolidayClose").onclick=function(){
alert("Working");
}
});
它试图在ConfirmHolidayClose元素存在之前访问它可能?你的JS在你的页面中加载到哪里?我在猜你的
一些解决方案:
1) 将脚本移动到页面底部,就在
2) 将JS封装在dom就绪函数中,这确保在dom树存在之前不会运行JS。使用jQuery最简单,下面的示例
jQuery示例
$(function() {
document.getElementById("ConfirmHolidayClose").onclick=function(){
alert("Working");
}
});
document.addEventListener("DOMContentLoaded", function() {
document.getElementById("ConfirmHolidayClose").onclick=function(){
alert("Working");
}
});
普通示例
$(function() {
document.getElementById("ConfirmHolidayClose").onclick=function(){
alert("Working");
}
});
document.addEventListener("DOMContentLoaded", function() {
document.getElementById("ConfirmHolidayClose").onclick=function(){
alert("Working");
}
});
您是否在元素之前加载js?它试图在ConfirmHolidayClose元素存在之前访问它?你的JS在你的页面中加载到哪里?我猜你应该在window.onload函数中编写脚本。请显示你的HTML标题。特别是如何包含javascript代码。是否在元素之前加载js?它试图在ConfirmHolidayClose元素存在之前访问它?你的JS在你的页面中加载到哪里?我猜你应该在window.onload函数中编写脚本。请显示你的HTML标题。特别是如何包含javascript代码。不应使用大写的html标记。这与XHTMLYou不应该使用大写的html标记是背道而驰的。这是针对XHTMLwindow的。onload是不正确的-这将等待整个页面加载完毕,我们只想等待DOM加载load@Zinc他目前用锚定标记封装了一个图像,如果图像没有加载,那么你就不能点击它在这种情况下,好的观点-但这是一个单独的问题,如果他设置了图像尺寸(他应该这样做)那么这不是问题,因为占位符将存在于DOM中。@嗯,1)我们试图解决他当前的问题,在这个问题中,使用DOM加载事件是没有用的,2)如果他设置了尺寸(他应该如你所说的那样),图像仍然需要加载。我不知道你的情况,但我从来没有开始点击网页上的随机空白点,因为那里可能有一个带有onclick函数的图像。window.onload不正确-这将等待整个页面加载完毕,我们只想等待DOM加载load@Zinc他目前用锚定标签封装了一个图像,如果图像未加载,则您不能单击它在本例中,这是一个好的观点-但这是一个单独的问题,如果他设置图像维度(他应该设置),则这不是问题,因为占位符将存在于DOM中。@好吧,1)我们正试图解决他当前的问题,在这个问题中,使用DOM加载事件是没有用的,2)如果他设置了尺寸(他应该像你说的那样),图像仍然需要加载。我不知道你的情况,但我从来没有开始点击网页上的随机空白点,因为那里可能有一张带有onclick功能的图片。