Vue.js jQuery.focus不起作用

时间:2016-10-04 08:23:11

标签: vue.js

jQuery $(" #lement")。focus();函数在v-if div中第一次不起作用。

你好,我有Vue js的下一个问题。我有一个div在v-if加载时隐藏。当v-if条件为真时,显示div但该div内的输入字段不想聚焦。 $("#元件&#34)。对焦();.这只在第一次显示div后显示.focus()有效

离。我在方法

中有这个功能
addBox: function (event)
{
    this.boxes.push({id: 1, name: 'Name', weight: 10 }); // Default is empty array. Comes true when i call this function and the div with #upc input becomes active and displayed
    $("#upc").focus(); // When the first time boxes becomes true $("#upc").focus(); does not work. Once is displayed it works after. 
}

HTML

<div class="row" v-show="boxes.length > 0">
    <div class="col-md-6">
        <input v-model="upc" type="text" class="form-control" name="upc" placeholder="Scan UPC here" id="upc" @keyup.13="scan">
    </div>
</div>

一旦this.boxes.lenght框&gt; 0调用$(&#34;#upc&#34;)。focus();正在工作,将重点关注输入字段。

1 个答案:

答案 0 :(得分:4)

要尝试两件事:

  1. 使用Vue的nextTick在下一次DOM更新时进行焦点调用(一旦DOM完全填充了视图模型更改的结果):

    POST
  2. 尝试将焦点操作绑定到模型属性的vue-focus(这意味着你可以摆脱jQuery)。