【问题标题】:Set textfield value without losing the focus在不失去焦点的情况下设置文本字段值
【发布时间】:2014-07-18 00:49:25
【问题描述】:

如何更改文本区域或文本字段的值

// 清洁按钮

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

没有失去焦点?

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

有什么想法吗?

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

【问题讨论】:

    标签: jquery focus textarea textfield


    【解决方案1】:

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

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

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

    fiddle

    Prevent firing focus event when clicking on div

    【讨论】:

      【解决方案2】:

      是的,它不起作用,因为在 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)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-02
        • 1970-01-01
        • 2020-05-06
        相关资源
        最近更新 更多