开发者

'change' event, ajax and live() on IE7

开发者 https://www.devze.com 2023-02-18 20:09 出处:网络
I read a lot of posts about the problem I have, but haven\'t been able to fix it. I\'m using jquery 1.5.1 and I have a problem with \'change\' event on IE7. Since interoperability is a must, I\'ve bee

I read a lot of posts about the problem I have, but haven't been able to fix it. I'm using jquery 1.5.1 and I have a problem with 'change' event on IE7. Since interoperability is a must, I've been trying (unsuccessfully ) to get live() with 'change' event to work on IE7.

Some people have suggested using livequery(), but for me, this is also not a solution.

开发者_C百科

Is there a way to make options form loaded with ajax respond to 'change' event on IE7 and what would you suggest?

Btw, code works perfectly on IE8 and FF.

Thanks! Newman


if you r not rendering select list with ajax u better use $(selector).change in document.ready function live will not propagate change event of select list in IE so you have to attach event handler to the select list itself.
Edit i load select list using following code

$.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
    });
}
});


have you tried delegate instead of live?


It works fine for me , must be your code or browser...

See my example here http://jsfiddle.net/blowsie/82Adg/3/

    $("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


});
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号