проблема с событиями в Firefox

У меня проблема с доступом к «событию» в Firefox. Следующий код отлично работает в Chrome, но в Firefox я получаю сообщение об ошибке «событие не определено».

<tr onclick="rowSelected('thisRowType')">
  ... row content ...
</tr>

<script type="text/javascript">
    function rowSelected(type) {
        var eventRow = event.currentTarget; // here I get the error
    }
</script>

Я понимаю, что Firefox не находит никакой переменной, называемой событием, но я не смог найти ничего, кроме «события», которое также должно быть определено в Firefox.

Итак, как я могу получить доступ к текущему событию в Firefox или как должен выглядеть редизайн? Обратите внимание, что у меня есть разные строки, содержащие разные значения для «типа».


person homaxto    schedule 11.01.2011    source источник


Ответы (1)


Попробуйте это вместо этого:

function rowSelected(event, type) {
    var eventRow = event.currentTarget; // here I get the error
}

Вы не разрешаете передавать аргумент события. Ну, вы были, но это было передано в переменную типа. Теперь event будет содержать значение currentTarget.

ИЗМЕНИТЬ

О, подождите! Вы также хотите передать тип строки.

Это должно сделать это!

<tr onclick="rowSelected(event, 'thisRowType')">
  ... row content ...
</tr>

<script type="text/javascript">
    function rowSelected(event, type) {
        var eventRow = event.currentTarget; // here I get the error
        alert(type);
    }
</script>
person Olical    schedule 11.01.2011
comment
Я работал :-) Я не знал, что событие отправляется автоматически как параметр и, таким образом, захватывает параметр «тип». Большое спасибо. - person homaxto; 11.01.2011
comment
Да, это довольно скрыто, обычно, если вы не хотите передавать какие-либо другие параметры, кроме параметра события, вы можете просто использовать значение onclick, подобное этому onclick="rowSelected", и оно автоматически передаст параметр события. - person Olical; 11.01.2011