2016-09-02 6 views
2

私はobservableからfromEventを実行していますが、イベントを与えた要素からdata属性を取得したいと思います。私はこの中から成功してこれを使用しようとしています。どのように私は、コールバックの内側にjqueryのソースがクラスの場合、rxjs observableから '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); 
}); 

答えて

1

thisから「この」標準を達成することができますすることは$.eachで例えばのように、jQueryオブジェクトを参照していない。この場合には、あなたが$(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/[email protected]/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>
を使用することができます

+1

正確に私が必要としていたのは、以来、新しいアカウントはupvoteできません。 –

関連する問題