设置文本字段值而不会失去焦点

时间:2014-07-18 00:49:26

标签: jquery focus textarea textfield

如何更改textarea或textfield的值

//清洁按钮

 $('#textfield').val('');

没有失去焦点?

当我点击cleanButton时,我创建了一个webApp和智能手机(android)失去焦点(并且键盘消失)...我必须再次单击文本字段中的/ in以进一步写入(不好)可用性:/)

有什么想法吗?

顺便说一句:这$('#textfield').val('').focus();不起作用。

2 个答案:

答案 0 :(得分:3)

你试过preventing default吗? 您需要通过在回调中的event参数上调用preventDefault来停止导致焦点丢失的浏览器事件

$('[type="button"]').mousedown(function(event) {
    event.preventDefault(); 
    $('[type="text"]').val('');
});

此外,请确保您捕获的回调附加到mousedown而不是click,因为当mousedown成功时,焦点会自动更改。

fiddle

Prevent firing focus event when clicking on div

答案 1 :(得分:0)

是的,它不起作用,因为在jquery中.focus()是一个事件(类似于.click(),而在JS .focus()中则把焦点放在所需的元素上。

我知道如何使用javascript,试试这个:

var clrBtn = $('#cleanButton'); //from jQuery to JavaScript
$('#cleanButton').val('');
clrBtn.focus(); // here the focus goes to clnBtn (JS function)