e.target.dataset.id
这个代码存在于我的WordPress主题中的custom.js中,它处理图像Popup,但是在头版opr其他页面上没有比其他Jqueries或自定义查询编写的自定义查询。 js没有执行,比如Popmenu等。解决方案是什么?
// Get the modal
var modal = document.getElementById('bozy-mymodal');
// Get the image and insert it inside the modal - use its "alt" text as a caption
var img = document.getElementById('bozy22-popup');
var modalImg = document.getElementById("image-01");
var captionText = document.getElementById("caption");
img.onclick = function(){
modal.style.display = "block";
modalImg.src = this.src;
captionText.innerHTML = this.alt;
}
这似乎正在寻找一个名为Uncaught TypeError: Cannot set property '**onclick**' of null
at custom.js:20
at custom.js:44
的图像,该图像在该页面上不存在,但在滑块工作的页面上存在。
body22-popup
类似的情况在这里→ i'm getting an Uncaught TypeError: Cannot set property 'onclick' of null?
有没有办法在custom.js中执行那部分可能弹出的图像不存在的代码。
在Wordpress中,脚本会像这样添加→
var img = document.getElementById('body22-popup');
答案 0 :(得分:2)
因此,在尝试分配处理程序之前,请确保img
不为空:
...
var img = document.getElementById('bozy22-popup');
if ( img )
{
img.onclick = function(){
modal.style.display = "block";
modalImg.src = this.src;
captionText.innerHTML = this.alt;
}
}