在我的淘汰赛应用程序中,我试图像这样使用setFocus
<div class="row" data-bind="visible: $root.inOwnerShipChangingMode">
<div class="medium-12 columns">
<input type="text" placeholder="Enter user name to give ownership (trans)" data-bind="autoComplete: { selected: $root.newOwnerForLocationId, options: observableArrayOfUsersWhoCanBecomeOwners}, hasFocus: true" />
</div>
</div>它不起作用。您可以看到的元素是隐藏的,这取决于$root.inOwnerShipChangingMode。我试过把它排除在可见的绑定之外,仍然不起作用。
我的淘汰版是3.3.0。
发布于 2016-06-17 12:43:53
您是否尝试过将hasFocus绑定到一个可观察到的值--甚至只是一个返回true的函数?hasFocus是一个双向绑定,因此它可能无法处理在两个方向上都不能工作的东西。
此外,如果绑定元素在绑定时不可见,那么浏览器可能会拒绝将焦点授予它。当您稍后将父对象设置为可见时,您将不会获得焦点,因为没有理由重新绑定hasFocus --它仍然具有与加载时相同的值/属性/属性,而且在这方面没有任何变化。
因此,我建议给hasFocus分配一个可观察的值,即使它的值从未改变。
https://stackoverflow.com/questions/37875270
复制相似问题