为什么Javascript不会添加onclick?

时间:2013-11-06 19:21:37

标签: javascript dom onclick

我有一个函数,它将一个锚/超链接添加到ID为“title”的元素。

    var a = document.createElement('a');
    a.innerHTML = "Link text";
    a.href = "http://example.com";
    a.style.fontSize = "14px";
    a.style.fontWeight = "normal";
    a.onclick = function() { alert('OK'); };

    // now add anchor to DOM
    $('title').insertBefore(a);

链接已成功添加到DOM,其样式属性设置得很好,但不是onclick。即,这就是我得到的:

<a href="http://example.com" style="font-size: 14px; font-weight: normal;">Link text</a>

为什么不添加onclick?我做错了什么?

2 个答案:

答案 0 :(得分:3)

onclick处理程序应该可以工作,即使它没有显示为属性。如果您确实要在HTML中添加onclick属性use setAttribute

答案 1 :(得分:2)

正在添加 。它只是没有出现在HTML中。它几乎被添加了。

当您使用onclick = function时,它会执行虚拟绑定,而不是实际添加属性。

如果您需要setAttribute("onclick","alert('ok');")出现在HTML中,我需要使用{{1}}(我不知道为什么你会需要它)。