Javascript input_text_1.onblur=输入_text_2.select();
在firefox中,我制作了一个网页,有两个输入文本元素:input_text_1和input_text_2。它们的行为类似于密码验证:如果它们的内容不同,即当输入文本2的onblur事件被激活时,onblur的处理程序将发出警报,然后选择输入文本1的所有文本 事实上,这并不容易实现,因为我认为事件链是不确定的:可能,input_text_1选择了文本,然后通过一些点击失去了焦点。因此,我只是对onblur的input_text_1处理程序进行了如下修改: setTimeoutdocument.getElementById'input_text_1'。选择,100Javascript input_text_1.onblur=输入_text_2.select();,javascript,dom,xhtml,Javascript,Dom,Xhtml,在firefox中,我制作了一个网页,有两个输入文本元素:input_text_1和input_text_2。它们的行为类似于密码验证:如果它们的内容不同,即当输入文本2的onblur事件被激活时,onblur的处理程序将发出警报,然后选择输入文本1的所有文本 事实上,这并不容易实现,因为我认为事件链是不确定的:可能,input_text_1选择了文本,然后通过一些点击失去了焦点。因此,我只是对onblur的input_text_1处理程序进行了如下修改: setTimeoutdocument.
有更优雅的解决方案吗?以下代码在FireFox/IE/Opera/Safari/Chrome中运行良好,但基于WebKit的浏览器并不总是关注输入:
var blurHandler = function() {
var input1 = document.getElementById('input1');
if( this.value !== input1.value ) {
alert( 'Passwords are not equal' );
if( input1.selectionStart ) {
input1.selectionStart = 0;
input1.selectionEnd = input1.value.length;
}
input1.focus();
if( input1.select ) input1.select();
}
};
var input2 = document.getElementById('input2');
if( input2.addEventListener )
input2.addEventListener( 'blur', blurHandler, true );
else
input2.attachEvent( 'onblur', blurHandler );
您可以试试它是的,但问题是关于FireFox的。解决方案已更新,可用于跨浏览器。它工作正常,除了基于WebKit的浏览器,input1并不总是关注焦点。