Почему FF говорит, что window.event не определено? (вызов функции с добавленным слушателем событий)

tl; dr

Панда, эквивалентная

select * from table where column_name = some_value

, является

table[table.column_name == some_value]

Множественные условия:

table[(table.column_name == some_value) | (table.column_name2 == some_value2)]

или

table.query('column_name == some_value | column_name2 == some_value2')

Пример кода

import pandas as pd

# Create data set
d = {'foo':[100, 111, 222], 
     'bar':[333, 444, 555]}
df = pd.DataFrame(d)

# Full dataframe:
df

# Shows:
#    bar   foo 
# 0  333   100
# 1  444   111
# 2  555   222

# Output only the row(s) in df where foo is 222:
df[df.foo == 222]

# Shows:
#    bar  foo
# 2  555  222

В приведенном выше коде это строка df[df.foo == 222], которая дает строки на основе значения столбца, 222 в этом case.

Возможны также множественные условия:

df[(df.foo == 222) | (df.bar == 444)]
#    bar  foo
# 1  444  111
# 2  555  222

Но в этот момент я бы рекомендовал использовать функцию query , так как он менее подробный и дает тот же результат:

df.query('foo == 222 | bar == 444')
29
задан cнŝdk 12 May 2015 в 10:07
поделиться

3 ответа

попробуйте получить событие, используя переданный параметр (в данном случае названный e). Я проверил это, и оба window.event и e поддерживаются в Chrome.

попробуйте проверить оба типа, в зависимости от того, что существует

var ex = {
  exampl: function(e){

    console.log(window.event);
    console.log(e);  

    //check if we have "e" or "window.event" and use them as "evt"
    var evt = e || window.event    

  }
}
22
ответ дан Joseph 12 May 2015 в 10:07
поделиться

Потому что window.event не существует в Firefox. Это потому, что в браузере есть разные модели событий, и вам придется иметь дело с их различиями или использовать библиотеку, такую ​​как jQuery, чтобы не иметь дело со всеми различиями между браузерами. Добро пожаловать в DOM.

15
ответ дан Tim Down 12 May 2015 в 10:07
поделиться

window.event будет доступен на Firefox с версии 63 (релиз ожидается в конце октября 2018 года).

0
ответ дан Matthieu Riegler 12 May 2015 в 10:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: