我正在使用 Reactive Extension DOM用于监听来自 DOM 的事件。这是我的示例代码:
var input = document.getElementById('test_id');
var source = Rx.DOM.change(input);
var subscription = source.subscribe(
function (x) {
console.log(x);
},
function (err) {
console.log('Error: ' + err);
},
function () {
console.log('Completed');
});
当 document.ready
完成时 test_id
在页面上时,此代码有效。但是我使用的是 AJAX 请求,所以 test_id
只是在客户端发送和接收 ajax 请求后出现。我怎样才能让 RxDom 通知这个。
谢谢。
最佳答案
您需要重新创建 Observable。
当您调用 document.getElementById('test_id');
并且 ID 为 test_id
的元素不存在时,它会返回 null。因此,没有办法“刷新”source
Observable,因为它甚至不知道应该“刷新”哪个 DOM 元素。
所以唯一的方法是在从 Ajax 调用附加 HTML 之后创建 Observable。
关于javascript - RxDom : not working when new id created,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39978716/