为了账号安全,请及时绑定邮箱和手机立即绑定

为什么点击的时候第一次运行正常,到第二次就提示错误:消息: 'object' 未定义?

为什么点击的时候第一次运行正常,到第二次就提示错误:消息: 'object' 未定义?

慕婉清6462132 2022-11-19 13:09:23
js中function aaa(a){alert(a.getAttribute("src"));setTimeout("aaa("+a+")",10);}html中<img src="aaaaaa" onclick="aaa(this)">请高人指点
查看完整描述

3 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

你这样肯定有问题,一个字符串和一个对象进行+运算的结果是什么,不能这样加的,应该考虑带字符串参数,例如:

js中
function aaa(a){
alert(document.getElementById(a).getAttribute("src"));
setTimeout("aaa('"+a+"')",10);}

html中
<img src="aaaaaa" id="xxx" onclick="aaa('xxx')">

查看完整回答
反对 回复 2022-11-24
?
弑天下

TA贡献1818条经验 获得超8个赞

settimeout 不能直接传递对象,所以你要像我这么做
 <script language="javascript">  
 var __sto = setTimeout;  
 window.setTimeout = function(callback,timeout,param) 
 {  
 var args = Array.prototype.slice.call(arguments,2); 
  var _cb = function()   { 
  callback.apply(null,args);   
}  
 __sto(_cb,timeout);  
 } 
 //测试代码   
function aaa(a)  
 {   
alert(a.getAttribute("src"));
 window.setTimeout(aaa,100,a)
 }  
  
 </script> 
<img onclick="aaa(this)">


 


查看完整回答
反对 回复 2022-11-24
?
长风秋雁

TA贡献1757条经验 获得超7个赞

setTimeout(function(){aaa(a);},10);
试试这样。
应该是可以的。

查看完整回答
反对 回复 2022-11-24
  • 3 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信