同一个div上有多个onclicks

时间:2015-04-12 08:37:23

标签: javascript onclick

我正在尝试向我的元素添加第二个onclick函数,但到目前为止还没有成功,尝试使用不同的分隔符,相同的引用等但是它还没有用。

这是代码:

<a title="course"  onclick="if(document.getElementById('spoiler') .style.display=='none') {document.getElementById('spoiler') .style.display=''}else{document.getElementById('spoiler') .style.display='none'};" onclick="if(document.getElementById('nav-res') .style.display=='block') {document.getElementById('nav-res') .style.display='none'};">Course</a>  

有谁可以指出我做错了什么?非常感谢

2 个答案:

答案 0 :(得分:2)

您无法添加多个onclick语句 您需要在命令之间添加分号(;)。

<a href="#" onclick="alert('this is command 1'); alert('this is command 2');">click me</a>
//---------------------------------------------^---------------------------^

但是,我不会按照你这样做的方式去做 我会做一个单独的功能,无论你想做什么 将所有内容放入html(内联)中并不是一种好习惯。

我会这样做:

<a id="" onclick="clickme()">
<script>
    function clickme() {
        // action 1
        if( document.getElementById('spoiler').style.display=='none' ){
            document.getElementById('spoiler').style.display='';
        }
        else{
            document.getElementById('spoiler').style.display='none';
        };
        // action 2
        if( document.getElementById('nav-res').style.display=='block' ){
            document.getElementById('nav-res') .style.display='none';
        }
    }
</script>

答案 1 :(得分:2)

我鼓励您尝试使用事件监听器:

<a href='#' id='mytag'>

然后:

<script>
  document.getElementById('mytag').addEventListener("click", function(){
    alert(1)
  }, false);

  document.getElementById('mytag').addEventListener("click", function(){
    alert(2)
  }, false);
</script>

或使用jquery:

<script>
  $('#mytag').click(function(){ alert(1) })
  $('#mytag').click(function(){ alert(2) })
</script>