Jquery 透明地将焦点处理程序绑定到Knockout.js添加的新文本输入
我正在使用Knockout.js构建我的大部分UI,我正在寻找一种整洁的方式来选择焦点上任何输入[type=text]中的文本。过去我做过如下事情: $'input[type=text]'。单击函数{ $this.select; }; 但是在淘汰模式下,新的输入总是被创建和删除,以响应我的视图模型的变化。我不想做太多的过程性工作来将处理程序重新绑定到新元素,我不想在模板中的每个输入实例中添加单击绑定,而且由于性能和其他缺点,我也不想使用jQuery的live来查看整个文档Jquery 透明地将焦点处理程序绑定到Knockout.js添加的新文本输入,jquery,html,css,knockout.js,Jquery,Html,Css,Knockout.js,我正在使用Knockout.js构建我的大部分UI,我正在寻找一种整洁的方式来选择焦点上任何输入[type=text]中的文本。过去我做过如下事情: $'input[type=text]'。单击函数{ $this.select; }; 但是在淘汰模式下,新的输入总是被创建和删除,以响应我的视图模型的变化。我不想做太多的过程性工作来将处理程序重新绑定到新元素,我不想在模板中的每个输入实例中添加单击绑定,而且由于性能和其他缺点,我也不想使用jQuery的live来查看整个文档 这些输入可以出现在整个
这些输入可以出现在整个模板层次结构的所有级别。是否有一种干净的方法可以连接到任何新的DOM结构中,这些结构是通过Knockout构建的,以响应我的视图模型更改,并透明地连接子输入 您可以编写自己的自定义活页夹来完成这项工作,请查看有关如何完成此工作的详细信息。您可以扩展value:binding并自己添加焦点部分,它应该可以做到这一点。如果需要,您需要将所有当前值绑定替换为自定义值绑定。您可以编写自己的自定义绑定来实现这一点,请查看有关如何实现这一点的说明。您可以扩展value:binding并自己添加焦点部分,它应该可以做到这一点。如果需要,您需要将所有当前值绑定替换为自定义值绑定。为什么不绑定KO单击处理程序?数据绑定=单击:选择文本,值:文本。你甚至可以为此编写一个扩展程序。是的,只是我会有很多输入,不想单独添加,但可能不是那么糟糕。你也可以编写自己的活页夹为你做这件事,看看文档如何做,你可以扩展值活页夹并自己添加焦点部分,它应该会起作用。但是,您需要替换所有当前的值绑定。不确定是否可以覆盖值binding.yes。我对你的评论投了赞成票,因为你让我相信,在适当的输入上直接绑定到selectText函数是最好的方法。我这样做是为了简单的文本输入,比如名字,而对于更复杂的情况,例如货币值必须在焦点上进行不同的格式设置,我使用了敲除绑定处理程序。干杯。好的,很乐意帮忙!我已经添加了评论作为答案,您能接受吗,这样这个问题就不再是没有答案的了?干杯为什么不绑定KO单击处理程序?数据绑定=单击:选择文本,值:文本。你甚至可以为此编写一个扩展程序。是的,只是我会有很多输入,不想单独添加,但可能不是那么糟糕。你也可以编写自己的活页夹为你做这件事,看看文档如何做,你可以扩展值活页夹并自己添加焦点部分,它应该会起作用。但是,您需要替换所有当前的值绑定。不确定是否可以覆盖值binding.yes。我对你的评论投了赞成票,因为你让我相信,在适当的输入上直接绑定到selectText函数是最好的方法。我这样做是为了简单的文本输入,比如名字,而对于更复杂的情况,例如货币值必须在焦点上进行不同的格式设置,我使用了敲除绑定处理程序。干杯。好的,很乐意帮忙!我已经添加了评论作为答案,您能接受吗,这样这个问题就不再是没有答案的了?干杯