Jquery ';改变';IE7上的事件、ajax和live()

Jquery ';改变';IE7上的事件、ajax和live(),jquery,internet-explorer-7,live,Jquery,Internet Explorer 7,Live,我读了很多关于这个问题的帖子,但都没能解决。我正在使用jQuery1.5.1,我对IE7上的“更改”事件有问题。由于互操作性是必须的,所以我一直在尝试(未成功)让带有“更改”事件的live()在IE7上工作 有些人建议使用livequery(),但对我来说,这也不是一个解决方案 有没有一种方法可以让用ajax加载的选项表单响应IE7上的“更改”事件?您有什么建议 顺便说一句,该代码在IE8和FF上运行良好 谢谢! Newman如果您不使用ajax呈现选择列表,最好使用$(选择器)。documen

我读了很多关于这个问题的帖子,但都没能解决。我正在使用jQuery1.5.1,我对IE7上的“更改”事件有问题。由于互操作性是必须的,所以我一直在尝试(未成功)让带有“更改”事件的live()在IE7上工作

有些人建议使用livequery(),但对我来说,这也不是一个解决方案

有没有一种方法可以让用ajax加载的选项表单响应IE7上的“更改”事件?您有什么建议

顺便说一句,该代码在IE8和FF上运行良好

谢谢!
Newman

如果您不使用ajax呈现选择列表,最好使用$(选择器)。document.ready函数live中的更改不会在IE中传播选择列表的更改事件,因此您必须将事件处理程序附加到选择列表本身
编辑我使用以下代码加载选择列表

$.ajax({
type:"post",
url:"/controls/selectlist",
dataType:"html",
success:function(data)
{
    $("#result").append(data);//data will contain html of my select list with ID = mylist
    $("#mylist").change(function(){
       //put event handling code here
    });
}
});

你试过代替live吗?

它对我来说很好,一定是你的代码或浏览器

看到我的例子了吗

$(“选择”).live('change',function(){
警报(“更改”)
});
$(“#按钮”)。单击(函数(){
$(“正文”)。附加(“12”)
返回错误
});

您正在使用更改事件的哪个元素?文本框,选择列表等?选择列表,对不起,我写了“选项”,这并不意味着什么…好吧,但是,如果在页面加载后用ajax加载,这怎么可能工作?也许我遗漏了一些东西……如果它是通过ajax加载的,那么在呈现页面上的选择列表之后,您必须在回调函数中附加事件处理程序。把我的答案记下来好吧,我试试这个,然后告诉你结果。谢谢谢谢你的代码!是的,我已经尝试了几乎所有的方法,正如我所说的,它在IE8和FF上运行良好,但在IE7上没有成功:(嗯,也许问题是我使用load()函数加载ajax内容?
    $("select").live('change', function(){
alert('change')
    });

$("#button").click(function(){
$("body").append("<select><option value='1'>1</option><option value='2'>2</option></select>")
    return false


});