使用 Javascript/jquery(代理对象)监听布尔值变化
Listening for a boolean change with Javascript/jquery (Proxy object)
Javascript 代理未触发。我试图在 10 秒后触发一些功能。但是 10 秒后,当我更新变量 "dezSecondsNaPagina" 时什么也没有发生。
var dezSegundosNaPagina = new Object();
dezSegundosNaPagina.valor = false;
var targetProxy = new Proxy(dezSegundosNaPagina, {
set: function(target, key, value) {
target[key] = value;
if (dezSegundosNaPagina.valor) {
console.log("aumentar visualização");
}
return true;
}
});
$(document).ready(function() {
setTimeout(function() {
dezSegundosNaPagina.valor = true;
alert(dezSegundosNaPagina.valor);
}, 3000);
});
你应该在 setTimeout 方法中使用 targetProxy.valor = true;
。
var dezSegundosNaPagina = new Object();
dezSegundosNaPagina.valor = false;
var targetProxy = new Proxy(dezSegundosNaPagina, {
set: function(target, key, value) {
target[key] = value;
if (dezSegundosNaPagina.valor) {
console.log("aumentar visualização");
}
return true;
}
});
setTimeout(function() {
targetProxy.valor = true;
alert(dezSegundosNaPagina.valor);
}, 3000);
Javascript 代理未触发。我试图在 10 秒后触发一些功能。但是 10 秒后,当我更新变量 "dezSecondsNaPagina" 时什么也没有发生。
var dezSegundosNaPagina = new Object();
dezSegundosNaPagina.valor = false;
var targetProxy = new Proxy(dezSegundosNaPagina, {
set: function(target, key, value) {
target[key] = value;
if (dezSegundosNaPagina.valor) {
console.log("aumentar visualização");
}
return true;
}
});
$(document).ready(function() {
setTimeout(function() {
dezSegundosNaPagina.valor = true;
alert(dezSegundosNaPagina.valor);
}, 3000);
});
你应该在 setTimeout 方法中使用 targetProxy.valor = true;
。
var dezSegundosNaPagina = new Object();
dezSegundosNaPagina.valor = false;
var targetProxy = new Proxy(dezSegundosNaPagina, {
set: function(target, key, value) {
target[key] = value;
if (dezSegundosNaPagina.valor) {
console.log("aumentar visualização");
}
return true;
}
});
setTimeout(function() {
targetProxy.valor = true;
alert(dezSegundosNaPagina.valor);
}, 3000);