讓我首先說我的JavaScript技能缺乏,至少可以說。我一直有與下列功能相關的問題:JavaScript onclick事件問題
function setClickHandler(element) {
element.onchange = function() {
var id = this.options[this.selectedIndex].value;
if(document.getElementById(id) !== null){
clickHandler = document.getElementById(id).onclick;
} else {
clickHandler ="runMe('" + this.id + "','" + id + "','','null')"; }
clickHandler.apply(this);
}
}
基本上它是,如果一個元素的「ID」,然後使用該元素的onclick功能,如果它不存在,那麼內創建一個存在功能。然後將這個onclick函數應用於元素。
一切正常,除非這個「身份證」並不存在,它進入其中對clickHandler必須創建else語句。我不明白爲什麼這不起作用。我注意到,如果clickHandler是從另一個現有的id獲取的,那麼我注意到,然後clickHandler輸出類似於(onclick).event的地方,如果它進入else語句,它會輸出runMe('24','54','','null 「)。
我希望我解釋這不夠好。任何幫助將不勝感激,謝謝!
是else語句從不開火? – JSager 2011-05-12 16:00:26
@JSager,它會正常啓動,只是創建的onclick事件不會被應用到元素。 – Chad 2011-05-12 16:01:48
「runMe」是你在某個地方聲明的函數,還是你試圖用字符串創建它? – 2011-05-12 16:02:00