1

我以这种方式在我的输入中得到一个值:

<input style="width:200px; display:none;" readonly="" type="text" id="abc" placeholder="30.30" value="#{position.layers}"></input>

如果值更改,我如何调用 JavaScript 函数。

function callme() {
    alert("ok");    
}

如果我自己输入值,则调用该方法,但如果通过“#{position.layers}”更改值,则不会调用该函数。

 <input style="width:200px; display:none;" readonly="" type="text" id="abc" placeholder="30.30" value="#{position.layers}" onchange="callme()"></input>
4

2 回答 2

1

最简单的方法是检查位置层的值,当它等于您要查找的值时调用您的函数。所以是这样的:

 function callme(){
    alert("ok");
   }

 function doNotCall(){
    alert("No Way");
    }

 if(position.layers == someValue){
      callme();
  }else{
      doNotCall();
  }
于 2019-02-26T15:56:07.893 回答
1

如果您使用其他方法传递值,则不能直接触发更改事件

 var element = document.getElementById('abc');
 var event = new Event('change');
 element.dispatchEvent(event);

相反,您必须创建一个更改事件并尝试调用您的更改事件,在更改输入类型的值后添加上面的代码,其余代码最好不要更改。

于 2019-02-26T16:03:31.453 回答