Que*_*mer 1 javascript jquery rxjs
有许多Rx.Observable.fromEvent(element, eventName)使用jquery选择作为捕获事件的元素的示例.但是,Rx是否可以仅使用jQuery监听过滤事件设置中的事件?
//Bind the event on body but only respond to events that match the filter
$('body').on('click', '.aClass div .something', function () {...});
//Bind to 'body' but only respond to events from the binding above
Rx.Observable.fromEvent(/*something here?*/);
Run Code Online (Sandbox Code Playgroud)
我提出了一些有效类似的东西,但似乎它比jquery过滤器要昂贵得多.
Rx.Observable.fromEvent($('body'), 'click')
.filter(function (e) {
return $(e.target).is('.aClass div .something');
})
.subscribe(function () {...});
Run Code Online (Sandbox Code Playgroud)
有没有什么方法可以将jQuery绑定转换为发射器并将该事件流与Rx一起使用?什么是最好的方法?
见http://jsfiddle.net/ktzk1bh3/2/
HTML:
<div class="aClass">
<div>
<a class="something">Click me</a>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
//Bind to 'body' but only respond to events from the binding above
var source = Rx.Observable.create(function(o) {
$('body').on('click', '.aClass div .something', function(ev) {
o.onNext(ev);
})
});
var sub = source.subscribe(function(ev) { console.log("click", ev) });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2228 次 |
| 最近记录: |