0

我正在使用 jquery 循环,它运行良好,但 jquery 事件不起作用。

我基本上循环带有标题的图像,我在“alt”属性中设置了标题。

在特定图像上,我调用模态,为图像分配一个类并让 jquery 产生一个模态 - 效果很好。

我还在标题中添加了一个链接,我可以在那里看到链接,但是当我点击链接时,jquery 不会被触发。

这是带有此标题和链接的图像。

<img class="openModal" src="images/video.jpg" alt="<div class='wrap'><h1 class='caption-title'>Video</h1><p class='caption-desc'>Aliquam lectus orc ac.<a class='button' class='openModal'>watch the video</a></p></div>"/>

alt 标签包含一个带有类的锚点,用于调出模态框。

<a class='button' class='openModal'>watch the video</a>

这是jQuery

   $('.openModal').on('click', function (e) {
    console.log('this is the click');
    e.preventDefault();
});

循环运行良好。

我单击图像,打开模式 - 完美。

我点击标题中的这个链接,它什么也没做。

我在这里想念什么?

4

1 回答 1

0

这可能是因为您在 HTML 插入页面之前绑定了事件。

尝试这个:

$('.cycleOrCaptionContainer').on('click', '.openModal', function(e) {
    console.log('this is the click');
    e.preventDefault();
});

'.cycleOrCaptionContainer'即使您在代码运行后附加此元素,也会'click'从具有 class 的子元素中侦听。.openModal

于 2013-04-12T01:44:06.433 回答