проблем със събития във 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