①这个是单纯的一个按钮,没有任何记录点击与否的功能,只能响应鼠标事件如鼠标在按钮上、鼠标点击按钮、鼠标松开按钮等功能:
单独对于该按钮,点击之后一切初始化,如同点击之前一样。此时则需要调用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("按钮未被点击")
}
}
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("你点击的是一个按钮")
}
}
//给a标签绑定点击事件$("a").on("click",function(){
alert($(this).attr("id"))//弹出被点击的a标签的id
})