请问,<input onfocus="alert('focus')" value="focus">停不了
请教,input onfocusalert(focus) valuefocus停不了写系统网页的时候,无意中发现,在input type
请教,<input onfocus="alert('focus')" value="focus">停不了
写系统网页的时候,无意中发现,在<input type="text">里面,如果有onfocus事件,而事件触发的function里面,如果有alert的话,就会不断重复那个alert的弹出窗口。
我的浏览器是360的,版本3207。我试了一下IE8,就不会出现这个问题。而且,好像只有我的电脑会发生这种情况。
代码如下:
HTML code<html><body class="bodyIndex"> <input class="textbox" id="txt" onfocus="check2()"> <input onblur="check1()" id="txt1" class="textbox"><script language="javascript"> function check3(){ alert("check3,click"); } function check2(){ txt.value+="a"; ///alert("check2.focus"); //* } function check1(){ alert("check1,blur"); if (!checkNumber(txt1,"",0,1,0)) txt.value+=", input error."; }</script></body></html>
如果把*那行的//去掉的话,就会自动循环起来,字母“a”会不断增加。
请问哪位知道是什么回事?
[解决办法]你的函数自己就是这么写的啊。每次获得焦点就执行这些操作。
你想完成什么功能?
[解决办法]应该是你的js写法不标准导致ie8脚本出错,致使你的alert无法继续运行。
txt.value+="a";你的意思是id="txt"的input的value=a;但是这么写在其他浏览器中无法识别txt这个变量,应该改为document.getElementById('txt').value='a';
[解决办法]当然了,点击确定后焦点又回到textbox中,怎么可能停的下来呢
[解决办法][解决办法][解决办法]哎,大哥,那说明IE版本可能不同,但一般情况下,都是会出现这种情况的,你不去执行alert()只是给其赋值时或触发焦点事件时不失去焦点,那么它只会执行一次
[解决办法]这个无需测试,你只要不要用alert(),它文本不失去焦点,就不会出现这种情况,或者你用onfocus="document.getElementById("").value="a";"试试,