このパターンについて多くの投稿がありましたが、それがなぜ鉱山コードで動作しないのかはまだ分かりません。 Ubuntu 10.04でChromiumを使用する。innerHTMLパターンが正常に動作しない
function showDescription(){
var description = document.createElement('div'),
eventTarget = window.event.target,
newHTML = description.innerHTML;
description.id = 'description';
switch(eventTarget.getAttribute('data-par')){
case 'links': newHTML = newHTML.replace(newHTML, 'links')
break;
case 'images': newHTML = newHTML.replace(newHTML, 'images')
break;
};
console.log(newHTML);
parentElement.insertBefore(description, parentElement.firstChild.nextSibling);
};
var descParLi = descPars.getElementsByTagName('li');
for (var i = 0; i < descParLi.length; i++){
descParLi[i].addEventListener("click", showDescription);
};
このコードは他の機能に含まれています。不思議なことに、コンソールではnewHTMLの価値が見えますが、htmlには変更がありません。それは問題です。なにが問題ですか?直し方?
「window.event」は、Internet Explorerでのみ有効です。 "addEventListener()"(これは興味深いことに、Internet Explorerでは**動作しない**)で追加すると、イベントオブジェクトは関数の最初のパラメータとして渡されます。 – Pointy
あなたはそれのための小さなフィドルを作成できますか? – ChristopheCVB
@Pointy:奇妙なことに、私はChromeを、ハンドラへの引数に加えて、 'event'を' window'のプロパティにすることでIEを模倣しています。 http://jsfiddle.net/SdMX9/ – user113716