JS Knockout - 在<textarea>

时间:2017-12-07 15:42:34

标签: javascript html knockout.js

&lt; p&gt;我有一些简单的javascript使用了如下工作的淘汰赛:&lt; / p&gt; &lt; p&gt;用户可以添加评论,调出textarea。按Enter键后,他们的评论将被发布。他们有一个按钮,允许他们取消帖子并将其带回以添加评论屏幕。&lt; / p&gt; &lt; p&gt;问题是,当用户在textarea中有文本时选择取消(&lt; code&gt;&lt; a&gt;&lt; / code&gt;元素)时,我的点击事件处理程序不会被调用。 ..直到它第二次点击。但是,如果用户尚未在textarea中输入任何内容,它将有效取消帖子。&lt; / p&gt; &LT; p为H. HTML:其中/ p为H. &lt; pre&gt;&lt; code&gt;&lt; a data-bind =&#34; attr:{id:$ context.cellContext.status.rowIndex},点击:$ parent.toggleCommentSelection&#34; class =&#34; fa fa-plus&#34; style =&#34; float:right&#34; /&gt; &lt; textarea data-bind =&#34; attr:{id:&#39; commentField&#39; + $ context.cellContext.status.rowIndex},event:{keyup:$ parent.checkEntered,}&#34;类=&#34;注释文本区域&#34; /&GT; &LT; /代码&GT;&LT; /预&GT; &LT; p为H.使用Javascript:其中/ p为H. &LT;预&GT;&LT;代码&GT; self.toggleCommentSelection = function(data,event){         var targetId = event.currentTarget.id;         self.currentRow(目标ID);         //在取消按钮点击时调用的东西         //如果文本区域中有文本,则直到该文本才会被调用         //点击两次     };   self.checkEntered = function(data,event){         //在keyup上调用的东西         //输入键被按下了         if(event.keyCode === 13){                var comment = $ .trim($(&#39;#commentField&#39; +                self.currentRow())VAL())。             if(comment.length&gt; 0){                 postComment(评语);             }         }     }; &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;如果textarea中有文字,我的点击绑定功能&lt; code&gt; toggleCommentSelection&lt; / code&gt;为什么只会在第二次点击时被调用?&lt; / p&gt;

0 个答案:

没有答案