【问题标题】:Mootools 1.2.4 delegation not working in IE8...?Mootools 1.2.4 委托在 IE8 中不起作用...?
【发布时间】:2010-05-03 05:11:13
【问题描述】:

所以我在表单旁边有一个列表框。当用户单击选择框中的选项时,我会请求相关数据,以 JSON 对象的形式返回,该对象会被放入表单元素中。保存表单后,请求通过并使用更新的数据重建列表框。由于它正在重建,我试图在列表框的父 div 上使用委托来获取 onchange 代码。我遇到的问题是 IE8(大震动)没有触发委托事件。

我有以下 HTML:

<div id="listwrapper" class="span-10 append-1 last">  
<select id="list" name="list" size="20">  
     <option value="86">Adrian Franklin</option>  
     <option value="16">Adrian McCorvey</option>  
     <option value="196">Virginia Thomas</option>  
</select>  
</div>  

以及以下脚本:

window.addEvent('domready', function() {     
  var jsonreq = new Request.JSON();  

  $('listwrapper').addEvent('change:relay(select)', function(e) {  
    alert('this doesn't fire in IE8');  
    e.stop();  
    var status= $('statuswrapper').empty().addClass('ajax-loading');  
    jsonreq.options.url = 'de_getformdata.php';  
    jsonreq.options.method = 'post';  
    jsonreq.options.data = {'getlist':'<?php echo $getlist ?>','pkey':$('list').value};  
    jsonreq.onSuccess = function(rObj, rTxt) {  
        status.removeClass('ajax-loading');  
        for (key in rObj) {  
              status.set('html','You are currently editing '+rObj['cname']);  
              if ($chk($(key))) $(key).value = rObj[key];  
        }  
        $('lalsoaccomp-yes').set('checked',(($('naccompkey').value > 0)?'true':'false'));  
        $('lalsoaccomp-no').set('checked',(($('naccompkey').value > 0)?'false':'true'));  
    }  
    jsonreq.send();  
  });  
});  

(我取出了一些不相关的东西)。所以这一切都在 Firefox 中按预期工作,但 IE8 拒绝在 select 元素上触发委托的更改事件。如果我将更改功能直接附加到选择,那么它工作得很好。

我错过了什么吗? IE8 不喜欢 :relay 吗?

旁注:我对 mootools 和 javascripting 等很陌生,所以如果有什么可以在代码方面改进的地方,也请告诉我.. 谢谢!

【问题讨论】:

  • 啊……谢谢奥斯卡。好的..环顾四周后,我发现将一个类添加到列表框并将事件附加到类选择器..但似乎 IE 不理解 Change 事件,因此设置

标签: internet-explorer-8 events mootools delegation


【解决方案1】:

元素委派不适用于 IE 中的字段元素(输入/选择/文本区域)。

【讨论】:

    猜你喜欢
    • 2011-05-09
    • 1970-01-01
    • 2013-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多