javascript:创建img onclick不起作用

时间:2015-02-13 09:44:57

标签: javascript onclick

看起来很奇怪,但也许我只是一个菜鸟。 在动画上创建IMG,每个元素(src,id,border,title)都可以,除了onclick:代码中的注释。

    var img = document.createElement('IMG');
    var href = result;
    var idx = result.lastIndexOf("/");
    img.src = result.substr(0,idx+1) + 'thumbs/' + result.substr(idx+1);
    img.border = 0;
    img.id = "qq1";
/* the following checked one by one
    img.onclick = 'alert("Kakukk")' ;           //does nothing - at stop (error: toSource) img=>onclick null
    img.onclick = alert("Kakukk") ;             // prints "Kakukk" here
    img.onclick = function(){alert("Kakukk");}; //does nothing;  at stop img=>onclick missing on debug => local variables !! 
    var myf = 'alert("Kakukk")';
    img.onclick=myf;                            //does nothing - at stop img=>onclick null
    img.onclick='function(){alert("Kakukk");}'; //does nothing - at stop img=>onclick null
*/
    img.addEventListener('click', function() {alert("Kakukk"); }, false);  //does nothing - at stop img=>onclick null
    img.title = 'Marci';

    alert("myObject4 is " + img.toSource());   // stop IE on error, check variables on debug screen

我到底错过了什么?

结果:大多数代码都运行良好,onclick很好,我只是绕着IE调试转了一圈,显示错误的值。不是javascript问题。总共4个。 绝不相信n00bs;)

3 个答案:

答案 0 :(得分:0)

原生ecmaScript应该写成addEventListener和iE attachtEvent

答案 1 :(得分:0)

您需要将img添加到文档中:

document.body.appendChild(img);

这里的工作示例: http://jsbin.com/limomulora/1/edit

(PS:你真的应该使用addEventListener)

答案 2 :(得分:0)

您尚未在DOM中添加图片。使用jQuery的Append或before或after方法在DOM上添加IMG元素。 例如

$('#demoDiv').append(img);  // appends img after div with id demoDiv