1

我正在使用 javascript,需要获取现有 onclick 的值并附加到它。我不是要替换当前的 onclick,而是要附加到它的前面或结尾。但是这项工作的所有不同迭代都失败了。

快速示例:

<pre>
<a href="blah" id="tabA" onclick="alert("this");"
<script>
   function test() {
      alert("that") ;
   }
document.getElementById('tabA').onclick = "test();" + document.getElementById('tabA').getAttribute('onclick') ;
</script>
</pre>
4

3 回答 3

0

使用 .onclick 事件时,您应该使用函数,然后使用操作:

document.getElementById("tabA").onclick = function()
{
alert("hello world")//this will work
}

document.getElementById('tabA').onclick = "test();" + document.getElementById('tabA').getAttribute('onclick') ;//fail since events are not variables to store values.

所以,无论你想做什么,那样它都行不通。

于 2013-03-24T06:39:42.827 回答
0

我知道这已经很老了,但是我需要做同样的事情。

我通过使用事件解决了这个问题;

obj.addEventListener('click', function(){ test(); }, false);
于 2014-11-05T17:49:33.700 回答
0

我不知道我是否明白你的意思。我的解决方案是

    <a href="blah" id="tabA" onclick="alert('this');">tabA</a>
    <script>
       function test() {
          alert("that") ;
       }
       var oldClick = document.getElementById('tabA').getAttribute('onclick') ;
       var newClick = function(){
            test();
            eval(oldClick);
       }
    document.getElementById('tabA').onclick = newClick;
    </script>

当我单击“tabA”时,它会提示“那个”,然后是“这个”。 http://jsfiddle.net/x3Xds/

于 2013-03-24T14:06:58.670 回答