У меня есть список в разметке с подключенным прослушивателем событий, каждый из которых содержит один или два div, и идея состоит в том, чтобы делать что-то в зависимости от того, что нажал div. HTML пример:Ошибка запуска событий в Firefox
<ul id="list">
<li><div class="first a"></div><div class="second b c"></div></li>
<li><div class="first f"></div></li>
<li><div class="first e"></div><div class="second d r"></div></li>
…
JS образец:
var currentLang = 'en';
var failCounter = 0;
var currentArg = args[Math.floor(Math.random() * args.length)];
var previousArgs = [];
function keyClicked(event) {
if (event.target.className.split(' ').indexOf(currentArg) > -1) {
textBox.style.opacity = 0;
setTimeout(function() {
textBox.innerHTML = wonMessages[currentLang];
textBox.style.opacity = 1;
wrapper.className = 'alert alert-success wrapper-active';
}, 250);
wrapper.onclick = function() { location.href = "…" };
list.removeEventListener('click', keyClicked);
}
else {
if (failCounter < 1) {
failCounter++;
previousArgs.push(currentArg);
do { currentArg = args[Math.floor(Math.random() * args.length)]; }
while (previousArgs.indexOf(currentArg) > -1);
textBox.style.opacity = 0;
setTimeout(function() {
textBox.innerHTML = wrongMessages[currentLang];
textBox.style.opacity = 1;
wrapper.className = 'alert alert-warning';
}, 250);
}
else {
textBox.style.opacity = 0;
setTimeout(function() {
textBox.innerHTML = lostMessages[currentLang];
textBox.style.opacity = 1;
wrapper.className = 'alert alert-danger';
}, 250);
list.removeEventListener('click', keyClicked);
}
}
}
list.addEventListener('click', keyClicked);
Проблема заключается в том, что в то время как он отлично работает в IE и Chrome, Firefox по какой-то причине не срабатывает событие, когда DIV класса first
(первый или единственный в li
, если li
содержит только один div). Firefox распознает только клики по divs класса second
. Любые идеи, почему? Какая разница между этими браузерами?
Пришло время ждать jquery-expert, но не в javascript .. :) –
@Qeremy, что делает jQuery для кода pure-JS, опубликованного выше и с различиями в поведении браузера? – yxfxmx
Вы не определили 'currentNote' – freefaller