0

我有一个包含另一个 div 的 div。它们都是使用 ajax 请求提取的一些数据动态创建的。

我有一个单击事件,我想将其附加到外部和内部 div,但是由于某种原因,当我单击下面第一张图片中呈现为蓝色的区域时,没有任何反应

chrome 检查 div

这是 html 窗格中的结构

div内容的html

这是执行事件的函数

$(document).ready(function () {
    $('body').click(function (event) {
        if ($(event.target).is('#INT-note')) {
            if (!$('#INT-note').hasClass('expanded_note')) {
                $('#INT-note').addClass('expanded_note');

                $('#INT-note').animate({
                    height: '300',
                    width: '200',
                    overflow: 'scroll'
                }, 500, function () {

                    $('#INT-note_text').fadeIn(100);
                });

            } else {

                $('#INT-note').removeClass('expanded_note');
                $('#INT-note_text').fadeOut(100);
                $('#INT-note').animate({
                    height: '45',
                    width: '45',
                    overflow: 'hidden'
                }, 500, function () {
                    //console.log('test');
                });
            }

        }
    });
});

有什么方法可以让较低的 div 通过“顶级”div 接收点击,这样我就没有这样的行为$('#lower, .upper')或其他什么?

[pointer-events:none;][3]到目前为止还没有为我工作,因为它似乎在我想要点击的下面的 div 上触发点击功能。我只想降一级。

谢谢!

4

2 回答 2

1

事件绑定似乎有问题,因为divs是动态插入的,在body上使用Onclick所以它会自动将事件附加到插入的新元素上。

 $('body').on('click',function (event) {
     //same code
 });
于 2012-07-31T21:17:45.040 回答
0

您不能使用普通clickbind动态添加的内容,trylivedelegate更新的on.

于 2012-07-31T21:22:14.557 回答