当源是 class 时,我可以从 rxjs observable 中获取 'this' 元素吗

Can I get 'this' element from rxjs observable when source is a class

我在从可观察对象点击时执行 fromEvent,但是,我想从提供事件的元素中获取数据属性。我一直试图从内部使用它,但没有成功。如何从 jquery

获得正常的 'this'
var elem = $(".someElementClass");
var source = Rx.Observable.fromEvent(elem, 'click');
var subscription = source.subscribe(function (e) {
var x = $(this).attr("data-toget");
alert(x);
});

this 内部回调不引用 jQuery 对象,例如在 $.each 中,在这种情况下你可以使用 $(e.currentTarget) 而不是 $(this)

var elem = $(".someElementClass");
var source = Rx.Observable.fromEvent(elem, 'click');
var subscription = source.subscribe(function (e) {
  console.log($(e.currentTarget).attr("data-toget"));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="https://npmcdn.com/@reactivex/rxjs@5.0.0-beta.7/dist/global/Rx.umd.js"></script>
<button class="someElementClass" data-toget="100">Button-1</button>
<button class="someElementClass" data-toget="200">Button-2</button>
<button class="someElementClass" data-toget="300">Button-3</button>