在下面的代码中,我已经设置了当网页正文发生变化时会触发此功能。然后它会查找widget-pb-0-box_id
。如果存在,因为它在加载时不存在。现在该函数将继续检查widget
是否已更改,然后将发送AJAX调用。我想设置此函数,以便在body
更改时触发该函数。然后在widget...
上触发keyup
。我尝试使用嵌套函数,但它会将调用级联起来并最终在keyup
中每widget...
次调用函数n + 1次。
$('body').on('change', '#widget-pb-0-box_id', function (e) {
var data = {
//data to be sent
};
$.post(ajaxurl, data, function (response) {
//AJAX call
});
});
答案 0 :(得分:1)
您希望获取元素的keyup事件,该事件在页面加载时不存在。为什么你在'body'上使用'change'呢?找出创建此元素的点,然后追加'keyup'事件。
或者使用文档中描述的委托事件处理程序方法(https://api.jquery.com/on/参见直接和委派事件)。只需直接使用keyup事件
$('body').on('keyup', '#widget-pb-0-box_id', function (e) {
var data = {
//data to be sent
};
$.post(ajaxurl, data, function (response) {
//AJAX call
});
});