bean icon indicating copy to clipboard operation
bean copied to clipboard

Allow bean.off to use selectors as bean.on does

Open jotadepicas opened this issue 8 years ago • 3 comments

Hi, I'm currently using:

bean.on(element, 'click', '[my-selector]', myHandler)

But I cannot use:

bean.off(element, 'click', '[my-selector]', myHandler)

Since according to the documentation bean.off only accepts this arguments:

off(element[, eventType[, handler ]])

In fact, my event is not removed and then when bean.on executes again, is added multiple times. It makes sense to me that if bean.on allows for selectors to be used, then bean.off should too, right?

Thanks!

jotadepicas avatar Mar 16 '16 00:03 jotadepicas

I'm not sure, but could it be that events added with selectors, in fact cannot be removed at all?

jotadepicas avatar Mar 16 '16 00:03 jotadepicas

+1

Sirk avatar Mar 28 '17 15:03 Sirk

@jotadepicas You can actually fix this issue if you trick a little bit, using namespace, you can

bean.on(element, 'click.yournamespace', 'your-selector', yourHandler)

and off the event with

bean.off(element, '.yournamespace')

Hope this can help. But it would be really nice to investigate to allow off() to use delegation.

Sirk avatar Mar 28 '17 15:03 Sirk