怎样鼠标单击事件发生时所在的对象 <body onclick="alert(event.srcElement.tagName)">event.srcElement就是事件的源对象。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不行呀,比如说我先选择了一个多选框中的一项,然后再单击一个按钮,此时调用alert(event.srcElement.tagName)",结果其值仍为select而不是button我的代码如下:<html><body><form name=form1><select name="sel" multiple size=10 onblur="cancel()"><option value="sel1">sel1</option><option value="sel2">sel2</option><option value="sel3">sel3</option></select><input name=submit type=submit value="submit"></form><script language="javascript">function cancel(){ alert(event.srcElement.tagName); //我的目的是想再单击提交按钮时正常提交,单击页面其他地方取消所有的选择 for(i=0;i<document.form1.sel.length;i++) { document.form1.sel[i].selected=false; } }</script></body></html> 我想了一下,onestab(┼─)兄说的是对的,因为我的事件是blur,所以事件对象是select,但要实现我所说的情况,该怎么办呢 你这样返回的当然是select对象了,你使用的是onblur事件,这是当失去焦点所触发的事件,当你按下按钮时就是sel失去焦点的时候,调用cencel()函数的是select对象,当然传回的是select对象,我觉得你这样做是不太好的,你有没有想过:当我的鼠标点了其它空白的地方后就需要把我先前所做的选择就取消了而要重新选择,这不是非常的麻烦吗(只是我的个人感觉布局)。你可以这样:<html><body><form name=form1><select name="sel" multiple size=10><option value="sel1">sel1</option><option value="sel2">sel2</option><option value="sel3">sel3</option></select><input name=submit type=submit value="submit"></form><script language="javascript">function formSubmit(){ alert(event.srcElement.tagName); for(i=0;i<document.form1.sel.length;i++) { if(document.form1.sel[i].selected) return true; } return false;}</script></body></html><script>document.form1.onsubmit=formSubmit;</script> <form name=form1 onclick="cancel()"><select name="sel" multiple size=10><option value="sel1">sel1</option><option value="sel2">sel2</option><option value="sel3">sel3</option></select><p>我的目的是想再单击提交按钮时正常提交,单击页面其他地方取消所有的选择</p><input name=submit type=submit value="submit"></form><script language="javascript">function cancel(){ if(!form1.sel.contains(event.srcElement)) document.form1.sel.selectedIndex=-1;}</script> function cancel(){ if(event.srcElement.tagName!="SUBMIT" && !form1.sel.contains(event.srcElement)) document.form1.sel.selectedIndex=-1;} js 打印问题 关于回调函数的一个问题 属性为file的input标签,firefox内不执行! 一个函数返回多个值 仿QQ菜单小BUG,高手请进! 如何判断输入数据的格式是99.9 下拉菜单被flash挡住了,请高手帮忙! 请问,javascript怎么检测窗体空白区的尺寸? 在jsp中得到网页输入框的值并付给session 怎样用按钮把当前URL复制到剪贴板上 TreeView菜单的生成? 简单的问题:如何通过元素的NAME来获得该元素?马上给分
我的代码如下:
<html>
<body>
<form name=form1>
<select name="sel" multiple size=10 onblur="cancel()">
<option value="sel1">sel1</option>
<option value="sel2">sel2</option>
<option value="sel3">sel3</option>
</select>
<input name=submit type=submit value="submit">
</form>
<script language="javascript">
function cancel()
{
alert(event.srcElement.tagName);
//我的目的是想再单击提交按钮时正常提交,单击页面其他地方取消所有的选择
for(i=0;i<document.form1.sel.length;i++)
{
document.form1.sel[i].selected=false;
}
}
</script>
</body>
</html>
<body>
<form name=form1>
<select name="sel" multiple size=10>
<option value="sel1">sel1</option>
<option value="sel2">sel2</option>
<option value="sel3">sel3</option>
</select>
<input name=submit type=submit value="submit">
</form>
<script language="javascript">
function formSubmit()
{
alert(event.srcElement.tagName);
for(i=0;i<document.form1.sel.length;i++)
{
if(document.form1.sel[i].selected) return true;
}
return false;
}
</script>
</body>
</html>
<script>
document.form1.onsubmit=formSubmit;
</script>
<select name="sel" multiple size=10>
<option value="sel1">sel1</option>
<option value="sel2">sel2</option>
<option value="sel3">sel3</option>
</select>
<p>我的目的是想再单击提交按钮时正常提交,单击页面其他地方取消所有的选择</p>
<input name=submit type=submit value="submit">
</form>
<script language="javascript">
function cancel()
{
if(!form1.sel.contains(event.srcElement))
document.form1.sel.selectedIndex=-1;
}
</script>
{
if(event.srcElement.tagName!="SUBMIT" && !form1.sel.contains(event.srcElement))
document.form1.sel.selectedIndex=-1;
}