【问题标题】:Dropdown with prototype.js in IEIE 中带有prototype.js 的下拉菜单
【发布时间】:2011-03-18 15:21:42
【问题描述】:

我在使用这个脚本时遇到了问题:http://loki.timon.com.ua/select/
在 IE8 中:一切正常 - 下拉菜单有效,克隆下拉菜单有效。
在 IE7 中:下拉菜单不起作用。
在具有 IE7 模式的 IE8 中:第一个下拉菜单正常工作,克隆 - 不是。

各位,你能帮帮我吗?

【问题讨论】:

    标签: javascript internet-explorer-8 internet-explorer-7 prototypejs


    【解决方案1】:

    我有 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)' 后,下拉菜单开始打开,但下拉菜单的值没有改变。
    【解决方案2】:

    已修复。 直接替换

    onclick="changeMessengerType(this);"
    

    更改为

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

    liselected.update(li.innerHTML);
    

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

    谢谢大家。

    【讨论】:

      猜你喜欢
      • 2013-03-14
      • 2012-09-19
      • 2011-08-01
      • 2011-09-19
      • 1970-01-01
      • 1970-01-01
      • 2010-12-04
      • 2014-12-01
      • 1970-01-01
      相关资源
      最近更新 更多