javascript - RxDom : not working when new id created

标签 javascript ajax rxjs rxjs-dom

我正在使用 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/

相关文章:

javascript - 如何在 javascript/react 中从另一个文件导入数据

javascript - 用于从对象数组创建数组的 Vanilla Javascript

javascript - 另一个变量试图离开函数

JavaScript初学者,如果一个变量不匹配做某事

jquery - 使用 Ajax 调用填充数据表

asp.net - AJAX 调用返回页面 HTML/未命中页面方法是 ASP.Net(无 MVC 或 Json)

php - yii 框架上的 ajax 响应非常慢

javascript - 行为主题 : next is not a function

angular - 文本行连续闪烁/闪烁

javascript - Angular 中连续异步函数的问题