Javascript Chrome扩展:JQuery触发';键控';不更新';输入';价值-网站使用淘汰JS

Javascript Chrome扩展:JQuery触发';键控';不更新';输入';价值-网站使用淘汰JS,javascript,jquery,html,knockout.js,google-chrome-extension,Javascript,Jquery,Html,Knockout.js,Google Chrome Extension,我在一个运行“击倒JS”的网站上写了一个chrome扩展 考虑以下HTML元素: <input type="text" class="form-control text-right" id="amount" autocomplete="off" data-bind="value: amount, valueUpdate: 'keyup'"> 代码似乎在视觉上更新了输入的值,但是依赖的knockout JS函数不会被触发。我以前没有用过击倒JS 如何触发敲除JS事件?您可以使用以下代

我在一个运行“击倒JS”的网站上写了一个chrome扩展

考虑以下HTML元素:

<input type="text" class="form-control text-right" id="amount" autocomplete="off" data-bind="value: amount, valueUpdate: 'keyup'">
代码似乎在视觉上更新了输入的值,但是依赖的knockout JS函数不会被触发。我以前没有用过击倒JS


如何触发敲除JS事件?

您可以使用以下代码来满足您的需求

<input type="text" class="form-control text-right" id="amount" autocomplete="off" data-bind="value: amount , valueUpdate: 'keyup'">

<p><span data-bind="text:amount"></span></p>
<script src="knockout-3.4.0.js"></script>

<script> 
    var obj = {amount:ko.observable('200')}
    ko.applyBindings(obj);
</script>

var obj={金额:ko.可观察('200')} ko.应用绑定(obj);
更新 我没有注意到你在页面上运行一个机器人。你应该能够被击倒,通过

$('#amount').val("200");
$('#amount').trigger('change');
vm={
金额:可观察到的ko(100)
};
ko.应用绑定(vm);
vm.amount.subscribe(函数(newValue){
警报(“变更”);
});
setTimeout(函数(){
$('金额').val(200);
$('金额').change();
}, 800);


valueUpdate函数是在knockout JS下定义的,JS似乎被缩小了,无法将其定义的位置归零。您的代码在这里工作:在ChromeEvaluable观察中,但不容易应用于尝试与运行knockout的外部页面交互的chrome扩展。
$('#amount').val("200");
$('#amount').trigger('change');