<script language="javascript">
function sss(){
alert("sss");
}
function ttt(){
alert("ttt");
}
</script>
</head><body>
<input type="text" onblur="sss()" />
<input type="button" onclick="ttt()" />让text得到焦点,当text失去焦点的时候出发sss函数打印出sss,但是我想点击按钮触发ttt函数打印ttt,系统默认text先失去焦点所以执行sss函数,点击按钮无效,请问如何点击按钮时不触发sss函数。
function sss(){
alert("sss");
}
function ttt(){
alert("ttt");
}
</script>
</head><body>
<input type="text" onblur="sss()" />
<input type="button" onclick="ttt()" />让text得到焦点,当text失去焦点的时候出发sss函数打印出sss,但是我想点击按钮触发ttt函数打印ttt,系统默认text先失去焦点所以执行sss函数,点击按钮无效,请问如何点击按钮时不触发sss函数。
<html>
<head><title>test</title>
<script language="javascript">
function sss(){
document.getElementById("d1").innerText = "sss";
}
function ttt(){
alert("ttt");
}
</script>
</head><body>
<input type="text" onblur="sss()" />
<input type="button" onclick="ttt()" />
<div id="d1"></div>
</body>
</html>
是不是发现可以执行成功呀,当焦点在text中时,点按钮,其实是先onblur,再onclick,在onblur的时候,弹出alert了,就阻止了onclick事件,也就是说onclick并没有成功
当焦点在text中时,其实是先onblur,再onclick(此时是执行的onblur="sss()")
所以你点button的时候alert出的sss()的内容你光标离开后,先点下页面其他的任何地方后,再点button就会alertttt()中的内容了。
你这样的话当text onblur的时候就不能执行alert("sss")。我是想当text失去焦点时执行sss函数,点击按钮的时候执行ttt函数
我就是想text有焦点的时候点按钮执行ttt函数。
var t;
function sss(){
t=setTimeout('alert("sss")',200);
}
function ttt(){
if(t)clearTimeout(t);
alert("ttt");
}
</script>
</head><body>
<input type="text" onblur="sss()" />
<input type="button" onclick="ttt()" />
<head><title>test</title>
<script language="javascript">
function sss(){
document.getElementById("d1").innerText = "sss";
}
function ttt(){
alert("ttt");
}
</script>
</head><body>
<input type="text" onblur="sss()" />
<input type="button" onclick="ttt()" />
<div id="d1"></div>
</body>
</html> 或者用onmousedown和onmouseup事件也可以
从text获取焦点到鼠标单击按钮,中间还有个世界onmouseover
可以用这个事件临时取消onblur()事件。代码如下:
<script language="javascript">
function sss(){
alert("sss");
}
function ttt(){alert("ttt");
}
//临时取消
function remove(){
document.getElementById("a").onblur ="";
}
//还原
function add(){
document.getElementById("a").onblur =sss;
}
</script>
<html>
<head>
</head><body>
<input id="a" type="text" onblur="sss()" />
<input type="button" onmouseover="remove()" onmouseout="add()" onclick="ttt()" />
</body>
</html>
function sss(){
var srcElem = document.activeElement //取到当前焦点控件
if(srcElem.type=="button"){
ttt();
return;
}
alert("text blur");
}
function ttt(){
alert("click button");
}
</script><input type="text" onblur="sss()" />
<input type="button" onclick="ttt()" />在sss方法里面判断下当前的焦点是不是在button上,如果是,则执行点击button的方法,反之则执行text失去焦点的方法。
<head>
<script language="javascript">
var isInBtn=false;
function sss(){
if(isInBtn)
{
return false;
}
alert("sss");
}
function ttt(){
alert("ttt");
}
function InOut(io)
{
if(io==1)
{
isInBtn=true;
}
else
{
isInBtn=false;
}
}
</script>
</head><body>
<input type="text" onblur="sss()"/>
<input type="button" onclick="ttt()" onMouseOver="InOut(1)" onMouseOut="InOut(0)" />
</body>
</html>