Internet Explorer 字符串比较
Internet Explorer string comparison
此功能在 Firefox 中正常工作,但在 IE 11 中不正常。我认为罪魁祸首是:
event = String(data.model.attributes.eventToRaise);
我通过一堆日志记录(我在此处删除了它以供演示)知道我正确地进入了第一个 else 分支,但是与 'AAA' 和 'BBB' 的比较是'在 IE 中无法正常工作。在 Firefox 中记录 'event' 的内容会显示一个字符串,但在 IE 控制台中它是一个指针。我尝试了一些不同的东西(.toString()、"" + 事件),所有这些都在 FF 中工作但在 IE 中没有。
上下文是 Backbone 和 Marionette,这个函数在不同地方的点击事件上被调用,代码应该确定哪个事件发起调用。
showPanel: function (data) {
event = String(data.model.attributes.eventToRaise);
if (event === this.lastEvent) {
//do something
}
else {
var view = NaN;
if (event === 'AAA') {
//whatever
}
else if (event === 'BBB') {
//whatever else
}
this.lastEvent = event;
}
编辑:'var event = String(data.model.attributes.eventToRaise);' 解决了问题
您可以尝试以下方法:
showPanel: function (data) {
event = new String(data.model.attributes.eventToRaise);
if (event === this.lastEvent) {
//do something
}
else {
var view = NaN;
if (event.indexOf("AAA")) {
//whatever
}
else if (event.indexOf("BBB")) {
//whatever else
}
this.lastEvent = event;
}
var event = data.model.attributes.eventToRaise;
解决了问题。
此功能在 Firefox 中正常工作,但在 IE 11 中不正常。我认为罪魁祸首是:
event = String(data.model.attributes.eventToRaise);
我通过一堆日志记录(我在此处删除了它以供演示)知道我正确地进入了第一个 else 分支,但是与 'AAA' 和 'BBB' 的比较是'在 IE 中无法正常工作。在 Firefox 中记录 'event' 的内容会显示一个字符串,但在 IE 控制台中它是一个指针。我尝试了一些不同的东西(.toString()、"" + 事件),所有这些都在 FF 中工作但在 IE 中没有。
上下文是 Backbone 和 Marionette,这个函数在不同地方的点击事件上被调用,代码应该确定哪个事件发起调用。
showPanel: function (data) {
event = String(data.model.attributes.eventToRaise);
if (event === this.lastEvent) {
//do something
}
else {
var view = NaN;
if (event === 'AAA') {
//whatever
}
else if (event === 'BBB') {
//whatever else
}
this.lastEvent = event;
}
编辑:'var event = String(data.model.attributes.eventToRaise);' 解决了问题
您可以尝试以下方法:
showPanel: function (data) {
event = new String(data.model.attributes.eventToRaise);
if (event === this.lastEvent) {
//do something
}
else {
var view = NaN;
if (event.indexOf("AAA")) {
//whatever
}
else if (event.indexOf("BBB")) {
//whatever else
}
this.lastEvent = event;
}
var event = data.model.attributes.eventToRaise;
解决了问题。