使用prototype.js在IE中创建下拉菜单

3

我遇到了这个脚本的问题:http://loki.timon.com.ua/select/
在IE8中:一切都很好 - 下拉菜单可以工作,克隆的下拉菜单也可以工作。
在IE7中:下拉菜单无法工作。
在IE8的IE7模式下:第一个下拉菜单正常工作,克隆的不行。

大家能帮我吗?

2个回答

0

我在工作中使用IE7...所以对我来说,脚本不能正常工作...尽管在FF3.5+中它可以很好地工作。

当我在本地调试时...通过更改以下行,我使其正常工作....

<dl class="selectboxs" style="width:74px;" onclick="this.down('dd').toggle()">  

更改

<dl class="selectboxs" style="width:74px;" onclick="$(this).down('dd').toggle()">   

请注意 $ 符号,这是使其成为原型对象的原因。这很奇怪,因为原型通常会自动包装元素,但这就是我得到的结果。
我还将函数更改为在 id 周围添加 $().. 同样感到困惑。
function addMessenger(id)
{
    $(id).insert({after:'<div>' + $(id).innerHTML + '</div>'});
    return false;
}

然而,我从未在内联js中使用原型调用,所以可能和这有关?也许JS/原型专家可以帮忙?


Java Drinker,将“this”更改为“$(this)”后,下拉菜单开始打开,但下拉菜单的值没有改变。 - Astralian

0

已修复。 只需替换即可

onclick="changeMessengerType(this);"

更改为

onclick="changeMessengerType($(this));"

而且

liselected.update(li.innerHTML);

$(liselected).update(li.innerHTML);

谢谢大家。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接