javascript - 从 xml 和 jquery 呈现后链接不起作用

标签 javascript jquery html css xml

我有一个加载到 index.html 上的基本新闻自动收报机 它从 xml 文件中提取 div 信息并自动更改行情屏幕上的数据。它在悬停时暂停并有前进和后退按钮

如果 feed 只是纯文本,一切都很好,但是我似乎无法让收报机接受可点击的链接。可点击的链接应该改变背景并打开一个包含更多信息的弹出窗口 这适用于页面上的手动链接

我能够通过 xml 文件上的 cdata 或将“a href”工作到将 xml 数据添加到具有适当 div 的页面的 jquery 中来显示链接

如果我手动添加带有链接的 div 到 html 页面,链接工作正常

在 js 代码之后,将以下内容添加到 html 中:

<div class="newsTicker active"><a href="#" id="open">Latest News updates/ticker 1</a></div>
<div class="newsTicker">Latest News updates/ticker 2</div>
<div class="newsTicker">Latest News updates/ticker 3</div>
<div class="newsTicker">Latest News updates/ticker 4</div>

当我检查页面时,信息已正确输入页面,但链接不起作用 有人可以帮忙吗!!

在这里找到主要代码---> http://jsfiddle.net/17h0wa28/5/

xml 页面非常基础,因此非技术人员可以根据需要即时更新它。

<?xml version="1.0" encoding="UTF-8"?>
<NEWSFEED>
    <STATUS>
        <UPDATE><![CDATA[<a href="#" id="open">Latest News updates/ticker 1</a>]]></UPDATE>
    </STATUS>
    <STATUS>
        <UPDATE>Latest News updates/ticker 2</UPDATE>
    </STATUS>
    <STATUS>
        <UPDATE>Latest News updates/ticker 3</UPDATE>
    </STATUS>
    <STATUS>
        <UPDATE>Latest News updates/ticker 4</UPDATE>
    </STATUS>
</NEWSFEED>

最佳答案

好的,你的问题来了。由于你的 anchor 标记是动态生成的,即在完全加载后附加到 DOM,你需要 event delegation ,将事件附加到动态添加的元素,如下所示:

点击 #open 元素的代码应修改为:

$(document).on('click','#open',function(e) { //event delegation
   e.preventDefault(); //prevent default action if necessary
   $('#pop_background').fadeIn();
   $('#pop_box').fadeIn();
   return false;
});

event 附加到 document,然后确定该点击是否来自 #open 元素。此外,如果您有任何其他要加载 #open 的静态元素,例如 dynamic elements 被附加到 DOM 中已经存在的 elements,然后你可以给出那个静态元素

id

关于javascript - 从 xml 和 jquery 呈现后链接不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33991243/

相关文章:

javascript - 按百分比从数字数组中抽取

javascript - 如何根据 JavaScript 跳转到特定页面的 h2 的 hrefs?

jquery可拖动到可排序的 strip id中

html - Bootstrap 和 HTML/CSS : Create a Scrollable Horizontal List of Checkboxes

javascript - 如果 id 存在于 MySQL 中,则在模态上自动递增 id

javascript - html5视频慢连接超时?

javascript - 在 Javascript 中获取节点 CSS 绝对位置

javascript - 将选择的(单击的)选项传递到输入框

javascript - 如何设置两个jquery cookie?

javascript - 将正则表达式输出返回到第一个案例