Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery延迟函数不工作_Javascript_Jquery - Fatal编程技术网

Javascript Jquery延迟函数不工作

Javascript Jquery延迟函数不工作,javascript,jquery,Javascript,Jquery,我有一个密码字段和一个小图标在右边,我想显示输入的密码2秒时,用户点击图标。 我所做的是 $("#showpass").click(function(){ $('#pass').attr('type','text').delay(2000).attr('type','password'); ); 当我只执行$('#pass').attr('type','text')时,它什么也不做 .delay()方法最适合在排队的jQuery之间进行延迟 影响。因为它是有限的,例如,它不能提供一种 取

我有一个密码字段和一个小图标在右边,我想显示输入的密码2秒时,用户点击图标。 我所做的是

$("#showpass").click(function(){
   $('#pass').attr('type','text').delay(2000).attr('type','password');
);
当我只执行
$('#pass').attr('type','text')
时,它什么也不做

.delay()方法最适合在排队的jQuery之间进行延迟 影响。因为它是有限的,例如,它不能提供一种 取消延迟-.delay()不是JavaScript的本机 setTimeout函数,可能更适合某些用途 案例

最好仅将其用于动画问题:


改为使用setTimeout。

延迟仅适用于使用jQuery队列的函数,如动画,因此在将类型设置为文本和键入回密码之间没有延迟

您的特定问题可以通过
setTimeout()
解决


如果我没有弄错的话,不是所有的浏览器都支持更改输入类型。但是很多浏览器至少支持所有新的输入类型。啊,我明白了。。我过去不支持它。。但现在确实如此。
$("#showpass").click(function(){
   var pass = $('#pass').attr('type','text');
   setTimeout(function() {
       pass.attr('type','password');
   }, 2000);
);