Коллеги всем доброго времени суток!
Нужна помощь.
Есть код обработчик:
diff:[
{
"operation": "insert",
"name": "AltNoInformationInterestd2e10eaa-14f7-4005-96b9-78145978b4f2",
"values": {
"layout": {
"colSpan": 24,
"rowSpan": 1,
"column": 0,
"row": 0,
"layoutName": "GeneralInfoTabGridLayout8576b06a"
},
"labelConfig": {},
"enabled": true,
"bindTo": "AltNoInformationInterest",
"controlConfig": {
"checkedchanged": {
"bindTo": "onInterestCheked"
}
}
},
"parentName": "GeneralInfoTabGridLayout8576b06a",
"propertyName": "items",
"index": 0
},
{
"operation": "insert",
"name": "AltAbsentInterestb586a604-e240-48b6-ba46-2889721a98cf",
"values": {
"layout": {
"colSpan": 24,
"rowSpan": 1,
"column": 0,
"row": 1,
"layoutName": "GeneralInfoTabGridLayout8576b06a"
},
"labelConfig": {},
"enabled": true,
"bindTo": "AltAbsentInterest",
"controlConfig": {
"checkedchanged": {
"bindTo": "onInterestCheked"
}
}
},
"parentName": "GeneralInfoTabGridLayout8576b06a",
"propertyName": "items",
"index": 1
},
{
"operation": "insert",
"name": "AltHaveInterest8b3652ac-d60d-4562-a1a5-e28a28cbce58",
"values": {
"layout": {
"colSpan": 24,
"rowSpan": 1,
"column": 0,
"row": 2,
"layoutName": "GeneralInfoTabGridLayout8576b06a"
},
"labelConfig": {},
"enabled": true,
"bindTo": "AltHaveInterest",
"controlConfig": {
"checkedchanged": {
"bindTo": "onInterestCheked"
}
}
},
"parentName": "GeneralInfoTabGridLayout8576b06a",
"propertyName": "items",
"index": 2
},
],
methods: {
onInterestCheked : function() {
debugger;
//var event = window.event;
if(event) {
if(event.currentTarget.toString() != "[object XMLHttpRequest]")
{
if(this.get("AltNoInformationInterest") == false
&& event.currentTarget.id.indexOf("AltNoInformationInterest") >= 0)
{
this.set("AltNoInformationInterest", true);
this.set("AltAbsentInterest", false);
this.set("AltHaveInterest", false);
}
if(this.get("AltAbsentInterest") == false && event.currentTarget.id.indexOf("AltAbsentInterest") >= 0)
{
this.set("AltAbsentInterest", true);
this.set("AltNoInformationInterest", false);
this.set("AltHaveInterest", false);
}
if(this.get("AltHaveInterest") == false && event.currentTarget.id.indexOf("AltHaveInterest") >= 0)
{
this.set("AltHaveInterest", true);
this.set("AltAbsentInterest", false);
this.set("AltNoInformationInterest", false);
}
}
}
else {
console.log("");
}
},
}В хроме работает отлично, но в FireFox ругается на event. т.к. не определено и не отображало часть контента карточки.
определил event:
var event = window.event;ошибку перестало бить но метод перестал корректно работать:
Chrome: http://prntscr.com/lkanf6
Firefox: http://prntscr.com/lkaoau
Кто нибудь сталкивался с подобным? И как с этим бороться?
Заранее благодарен.
Нравится
Можно попробовать для каждого типа браузеров определить логику, получив браузер
var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
var isSafari = /Safari/.test(navigator.userAgent) && /Apple Computer/.test(navigator.vendor);
Проще проверять на null значение event и если да — применять то или иное обходное решение.
WebKit follows IE's old behavior of using a global symbol for "event", but Firefox doesn't. When you're using jQuery, that library normalizes the behavior and ensures that your event handlers are passed the event parameter.
Вопрос с этой особенностью Firefox рассматривается во многих местах, см. ссылки: 1, 2, 3, 4, 5.