js点击事件

js点击事件,第1张

遍历一次body下的所有元素。给各元素添加click处理函数或者mousedown处理函数。
var tgs=documentgetElementsByTagName("");
for(var i =0;i<tgslength;i++){
var t=tgs[i];
tonMouseDown=function(e){
var that=this;
if(thistagName && (thistagName==='table'||-----)){//这里判断有点粗糙,你还需要判断是否是tr或td
//该table的id或者比较别的也行,只要能判断是你需要的那个table
//改变table的样式
}else{//不是你指定的table
//恢复table的样式
}
}
}

objonclick = function (){var d = '';}
if(objonclick =='' ){
alert('没有设置这个事件');
}

通过this关键字可以判断得出button集合的数组下标 例如:
<div class="model">
<a href="javascript:;" class="button">11111</a>
<a href="javascript:;" class="button">22222</a>
<a href="javascript:;" class="button">33333</a>
<a href="javascript:;" class="button">44444</a>
<a href="javascript:;" class="button">55555</a>
</div>
<script type="text/javascript">
windowonload =function(){
var o = documentgetElementsByClassName('button'),num = olength;
for(var i=0;i<num;i++){
o[i]onclick = function(){
for(var ii=0;ii<num;ii++){
if(o[ii] == this){
alert(ii);
alert(thisinnerText);
}
}
}
}
}
</script>

form中的内容:
<form name="form1" method="post" action="checkjsp" onSubmit="return checkuser()">
<table width="60%" cellpadding="1" cellspacing="2" border="0" align="center">
<tr>
<td width="35%">用户名:</td>
<td width="65%">
<input type="text" name="username"> </td>
</tr>
<tr>
<td>密码:</td>
<td>
<input type="password" name="password1"> </td>
</tr>
<tr>
<td>密码确认:</td>
<td>
<input type="password" name="password2"> </td>
</tr>
<tr>
<td>QQ号码:</td>
<td><input type="text" name="qq"></td>
</tr>
<tr>
<td>电子邮件:</td>
<td >
<input type="text" name="email"> </td>
</tr>
<tr>
<td>性别: </td>
<td>
<input type="radio" name="sex" value="男" checked>
<img src="images/boygif" width="24" height="24">男孩
<input type="radio" name="sex" value="女">
<img src="images/girlgif" width="26" height="26">女孩 </td>
</tr>
<tr>
<td>年龄:</td>
<td>
<input type="text" name="age"> </td>
</tr>
<tr>
<td>电话:</td>
<td>
<input type="text" name="phone"> </td>
</tr>
<tr>
<td>地址:</td>
<td >
<input type="text" name="address"> </td>
</tr>
<tr>
<td colspan=2>
<center>
<input type="submit" value="注册">       
<input type="reset" value="重置">
</center> </td>
</tr>
</table></form>
head中的判断:
<head>
<script language="JavaScript">
function checkuser()
{
username=documentform1usernamevalue;
password1=documentform1password1value;
password2=documentform1password2value;
age=documentform1agevalue;
email=documentform1emailvalue;
phone=documentform1phonevalue;
address=documentform1addressvalue;

if(usernamelength<3||usernamelength>12)
{
alert("用户名长度必须在3位到12位之间");
return false;
}
if(password1length<6||password1length>12)
{
alert("密码长度必须在6位到12位之间");
return false;
}
if(password1!=password2)
{
alert("密码不匹配");
return false;
}
if(email==""||(emailindexOf('@')==-1)||(emailindexOf('')==-1))
{
alert("电子邮件填写不正确");
return false;
}
if(age==""||isNaN(age)||parseInt(age)<0||parseInt(age)>99)
{
alert("年龄不合要求");
return false;
}
if(isNaN(phone)||parseInt(phone)<0)
{
alert("电话号码不合规范");
return false;
}
return true;
}
</script>
</head>

在div的mouseover事件中注册一个变量标志这个状态,比如加到div的属性上divmousein=true

在div的mouseout事件和window的blur事件中标志这个状态,比如div的属性上divmousein=false

然后在按钮的点击事件中判断div的mousein属性 if ( divmousein )

估计楼主一个按钮一个响应函数用在不同的地方了吧。还是建议分开,按钮的功能和外层的html结构耦合了,这种事情不好。以后你改了html代码结构,早都忘了js里怎么判断了,出错了要找很久的。

可以用变量判断,在事件方法执行的开始,设置变量如windowa = 1,方法执行完之后windowa=0,这样在这之间有其他事件发生可以通过a得知判断
如果要实现阻塞,可用while函数或加setInternal方法循环判断a的值


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13209527.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-20
下一篇 2023-06-20

发表评论

登录后才能评论

评论列表(0条)

保存