我开始使用jQuery mobile创建一个待办事项列表,以便更好地学习它。我正在监听来自菜单按钮的事件,例如:
me.selectedTarget = me.menuNode.find(".ui-btn").first();
me.menuNode.on("click", ".ui-btn", function (e) {
var target = $(e.currentTarget)
,targetText = target.text();
console.debug("Click on'", targetText,"'" );
if(target === me.selectedTarget) return;
if(targetText == "View To Do "){
core.pub("view:todo");
} else if(targetText == "View Done ") {
core.pub("view:done");
} else {
me.selectedTarget.click();
}
me.selectedTarget = target;
});
变量targetText在结尾处有一个额外的“ ”空格,原因不明。我有3个按钮,但第三个按钮有点特殊-无关紧要。我的问题是我总是进入最后一个else子句。targetText从未等于“View To Do”或“View Done”。为什么“View Done”!=“View Done”?~X(。
Firebug调试结果如图所示。
HTML标记如下。
$.trim
会有所帮助。从字符串字面量中删除额外的“空格”,并将targetText
剪切 ->$.trim(targetText) == "View Done"
- Engineer