点击事件在Chrome中工作,但在Firefox和IE中出现错误



我正在用jquery编写一个消息传递系统。当您单击类为".open_message"的线程标题时,它会通过Ajax打开一个包含该线程所有消息的线程。我的问题是,当点击线程标题时,它无法识别firefox和IE中特定线程标题的id属性。不过,它在chrome中运行良好。这是代码:

$('.open_message').on('click', function(e) {
        $(this).parent().removeClass('unread');
        $(this).parent().addClass('read');
    $('.message_container').html('');
    var theID = e.currentTarget.attributes[0].value;
    theID = theID.replace('#', '');
    var url = '".$url."'; 
    var dataString = 'thread_id=' + theID; 
    $('.message_container').append('<img id="loading" src="' + url + '/images/loading.gif" width="30px" />');
        $.ajax({
            type: 'POST',
            url: 'get_thread.php',
            data: dataString,
            success: function(result) {
                $('#loading').hide();
                $('.message_container').append(result);
            }
        });
    return false;
});

谢谢你的帮助!

在单击事件中,可以使用this.id访问元素id。所以以下应该是一个开始。。。

$('.open_message').on('click', function(e) {
    var dataString = 'thread_id=' + this.id,
        url = '".$url."'; 
    $(this).parent().removeClass('unread').addClass('read');   // Combine for speed
    $('.message_container').html('').append( etc...
    etc...
});

我承认你的var url = '".$url."';在我看来很不稳定,但我认为这一点还可以;)

您也可以使用$.post(如这里所示)。

相关内容

  • 没有找到相关文章

最新更新