Sea*_*een 3 javascript jquery twitter-bootstrap knockout.js jquery-events
我在http://jsfiddle.net/6vd5C/1/设置了一个jsFiddle
有问题的JavaScript代码:
var global_loggedOnUser = "User1";
$(function(){
var viewmodel = (function(){
this.feedbacktype = ko.observable("None");
this.currentPage = ko.observable(location.href);
this.currentUsername = global_loggedOnUser;
this.updateFeedbackType = function(item, event)
{
var newText = $(event.target).children("span").text();
feedbacktype(newText);
};
return{
pageUserIsOn : currentPage,
theUser : currentUsername,
feedbackType: feedbacktype
};
})();
ko.applyBindings(viewmodel);
});
Run Code Online (Sandbox Code Playgroud)
每当有人点击提交的按钮时,我都希望看到"当前类型"项目符号点更新,以指示单击按钮上的标题.
我究竟做错了什么?
而不是$(event.target)使用$(event.currentTarget).
我想扩展一下并解释一下差异,当你使用event.target你获得调度事件的元素(实际元素字面意思) - 就像在你的情况下,如果你点击<i></i>嵌套在按钮内的元素元素,它将返回<i></i>通知,如果您返回代码event.target并单击按钮的边缘,它将按预期工作.
如果event.currentTarget您正在获取元素,则绑定您的侦听器(在您的情况下是实际按钮).
| 归档时间: |
|
| 查看次数: |
260 次 |
| 最近记录: |