js如何对一个元素定义两个点击事件

JavaScript017

js如何对一个元素定义两个点击事件,第1张

<!DOCTYPE html>

<html lang="zh-cn">

<meta charset="utf-8" />

<body>

<a href="####" id="link">点我两次分别执行两个不同的操作</a>

<script>

window.onload = function () {

var obj = document.getElementById("link")//获取被点击元素句柄

var num = 0//设置计数器变量,默认为0,下面将在点击后把它设为1,再点又设为0

//obj对象被点击

obj.onclick = function (event) {

if (num == 0) {

num = 1//如果计数器为0,则改为1

A()//第1次点击,调用函数A

} else if (num == 1) {

num = 0//如果计数器为1,则改为0

B()//第2次点击,调用函数B

}

}

obj.addEventListener("click", funcNum , false)//监听点击事件

}

function A() {

var obj = document.getElementById("link")//获取被点击元素句柄

obj.style.color = "red"

alert("执行事件A\n把字体设置为红色")

}

function B() {

var obj = document.getElementById("link")//获取被点击元素句柄

obj.style.color = "blue"

alert("执行事件B\n把字体设置为蓝色")

}

</script>

</body>

</html>

多选或者单选不应该是input type="radio" 或者 type="checkbox" 这种input标签么,怎么会想到用div呢

用div的话

方法1:在每个div中加个class,如 <div id="ok1" class="hhhhh"></div>

然后引入jquery,定义

$(function(){

      $('.hhhhh').click(function({

               //处理点击业务

      }))

})

方法2:在每个div中加个function,如 <div id="ok1" onclick="hhhhh(this)"></div>然后js方法:

function hhhhh(thisObj){

        //处理点击业务  thisObj为当前this对象

}