JavaScript事件无法与getElementById一起使用
我对JS事件有问题。我在我的网站上放了一张图片,在JS的帮助下,当人们点击图片时,JavaScript事件无法与getElementById一起使用,javascript,image,function,events,Javascript,Image,Function,Events,我对JS事件有问题。我在我的网站上放了一张图片,在JS的帮助下,当人们点击图片时,src属性将被设置为查找另一张图片。但是什么也没发生 代码 只需使用,并放弃HTMLonclick属性: var img = document.getElementById('img'); img.onclick = function(){ img.src = "Login_img2.jpg"; }; 只需使用,并放弃HTMLonclick属性: var img = document.getElement
src
属性将被设置为查找另一张图片。但是什么也没发生
代码
只需使用,并放弃HTMLonclick
属性:
var img = document.getElementById('img');
img.onclick = function(){
img.src = "Login_img2.jpg";
};
只需使用,并放弃HTMLonclick
属性:
var img = document.getElementById('img');
img.onclick = function(){
img.src = "Login_img2.jpg";
};
不要为函数命名
img()
。当您使用不等同于全局对象的东西时,它可以正常工作。不要命名您的函数img()
。当您使用不等同于全局对象的对象时,它可以正常工作。这可以通过使用This
关键字删除对元素的不必要搜索来完成
这可以通过使用
This
关键字删除对元素的不必要搜索来实现
这可能是因为您同时命名了函数
img
和元素的idimg
浏览器将实际使用ID作为全局变量。因此,只需创建一个id为img
的元素,就基本上创建了window.img
最好将函数重命名为类似于swapImg
的名称,并使用this
和JavaScriptonclick
方法,而不是将onclick
放在标记中,并将代码包装在IIFE中,以避免变量泄漏到全局窗口
对象中
(function() {
document.getElementById('img').onclick = swapImage;
function swapImage() {
this.src = 'Login_img2.jpg';
};
})();
这可能是因为您同时命名了函数
img
和元素的idimg
浏览器将实际使用ID作为全局变量。因此,只需创建一个id为img
的元素,就基本上创建了window.img
最好将函数重命名为类似于swapImg
的名称,并使用this
和JavaScriptonclick
方法,而不是将onclick
放在标记中,并将代码包装在IIFE中,以避免变量泄漏到全局窗口
对象中
(function() {
document.getElementById('img').onclick = swapImage;
function swapImage() {
this.src = 'Login_img2.jpg';
};
})();
你的问题已经有了答案。我想指出的是,您也可以使用事件侦听器来完成
var oImg = document.getElementById('myImg');
oImg.addEventListener('click', function() {
this.setAttribute('src', 'Login_img2.jpg');
}, false);
你的问题已经有了答案。我想指出的是,您也可以使用事件侦听器来完成
var oImg = document.getElementById('myImg');
oImg.addEventListener('click', function() {
this.setAttribute('src', 'Login_img2.jpg');
}, false);
打开调试控制台并告诉我们您看到的错误。请不要将新问题编辑为现有问题。打开调试控制台并告诉我们您看到的错误。请不要将新问题编辑为现有问题。
img
不是“保留字”。它是元素的ID。一些浏览器将ID转换为全局变量。您的第一个问题得到了回答。这是一个不同的问题,应该作为一个新问题发布。img
不是一个“保留字”。它是元素的ID。一些浏览器将ID转换为全局变量。您的第一个问题得到了回答。这是一个不同的问题,应该作为一个新问题发布。对不起,我没有得到你在那里写的任何东西。我是一个初学者,你能回答更新的问题吗?非常感谢。对不起,我不明白你在那里写的东西。我是一个初学者,你能回答更新的问题吗?非常感谢。
var oImg = document.getElementById('myImg');
oImg.addEventListener('click', function() {
this.setAttribute('src', 'Login_img2.jpg');
}, false);