js中如何判断按钮是否被点击了?

JavaScript08

js中如何判断按钮是否被点击了?,第1张

document.onclick=function(e){

var evt=e||window.event

var tar=evt.target||evt.srcElement

if( (tar.tagName.toLowerCase()=="input"&&tar.type=="button") || tar.tagName.toLowerCase()=="button"){

alert("你点击的是一个按钮")

}

}

一般来说要实现这个功能必须配合javascript才能实现,纯HTML没有这个功能。举个例子。

①这个是单纯的一个按钮,没有任何记录点击与否的功能,只能响应鼠标事件如鼠标在按钮上、鼠标点击按钮、鼠标松开按钮等功能:

单独对于该按钮,点击之后一切初始化,如同点击之前一样。此时则需要调用javascript,调用onclick点击事件,如果点击之后需要执行的动作比较多,还需要在按钮之外添加点击事件发生后执行的函数。

②首先需要添加点击事件,暂时定义为点击后执行一个函数,函数名定义为Clicked。

③然后在按钮外部添加一个其中text/javascript是告诉浏览器script标签中的内容以javascript方式解读。

再把函数Clicked写入script标签:

function Clicked(){

}

④之后我们将点击后需要执行的动作写入到Clicked函数中。一般情况下,要记录一个按钮点击过与否,我们会声明一个变量,并对其以布尔值进行赋值。布尔值只有两种:true和false。比如我们将变量命名为clkBool,如果clkBool的值为false,则按钮未被点击,如果clkBool为True,则按钮已经点击过:

var clkBool=false

这句话要写在Clicked函数外部,用于浏览器加载页面时,即立马定义clkBool值为false,而无关Clicked函数执行与否。然后点击之后,将clkBool赋值为True。

var clkBool=false

function Clicked(){

clkBool=true

}

⑤之后如果要查看按钮是否点击过,只需查看clkBool的值即可知道,如何查看的方式很多,比如点击另一个按钮,再通过另一段javascript来调用(javascript可以调用HTML,而HTML无法调用javascript),再比如直接将按钮上显示的文字改为已点击和未点击等等。我们设定另一个按钮来查看之前的按钮是否被点击过(双斜杠后的文字可以写入代码,但是作为标注,不会被执行):

function CheckClk(){//定义函数CheckClk

if (clkBool) {

//用if判断clkBool的值,一般写作if(clkBool==true),但(clkBool==true)本身返回结果就是true和false,返回结果一定等于clkBool本身,所以可以这么写

alert("按钮已经点击过")//弹出警告框

}

else{//如果不满足if的条件

alert("按钮未被点击")//弹出警告框

}

}

⑥两个按钮及按钮对应的script标签合并,最终代码:

var clkBool=false

function Clicked(){

clkBool=true

}

function CheckClk(){

if (clkBool) {

alert("按钮已经点击过")

}

else{

alert("按钮未被点击")

}

}