繁体   English   中英

在同一个div上多次点击

[英]Multiple onclicks on the same div

我正在尝试向我的元素添加第二个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>  

谁能指出我做错了什么? 非常感激

您不能添加多个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>

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

<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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM