[英]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 < 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.