簡體   English   中英

從外部javascript調用onchange函數

[英]calling an onchange function from external javascript

我在無法真正觸摸的html文件中有一個選擇下拉列表

<select id="color" onChange="javascript:changeColor(this)">
<option value="black">Black</option>
<option value="red">Red</option>
<option value="blue">Blue</option>
<option value="gold">Gold</option>
</select>

我正在嘗試使用原型js來操縱它

var update_dropdown=$$('select#color option');
var option_length= update_dropdown.length;
for (var m = 0; m &lt; option_length; m++) {
    if(update_dropdown[m].value==selected_ColorId) {
        update_dropdown[m].selected=true;
    }
}

我有什么辦法可以調用html中正在調用的onChange事件,例如在這種情況下changeColor()?我正在使用原型js,謝謝

您不需要調用更改事件本身。 由於change事件只是連接到您的javascript函數上,因此您可以直接使用適當的參數直接調用changeColor函數來模仿實際事件的發生。

var selectObj = document.getElementById('color');
changeColor.call(selectObj, selectObj);

這將與changeColor(this)做同樣的事情。

僅供參考,在changeColor.call(a,b)的兩個參數中, a參數將changeColor函數中的this指針設置為您的選擇對象, b參數將changeColor函數中的第一個函數參數設置為您的選擇對象匹配您在HTML中調用它的方式。

您可以使用諸如event.simulate.js之類的東西來觸發<select>上的change事件。 jQuery還能夠以編程方式觸發本地事件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM