javascript - YUI 事件和链接

标签 javascript events yui

使用 YUI,我有一个 div,带有一个附加的监听器,如果我单击 div,则执行回调函数。 div 内部是一系列指向其他页面的普通 html 链接。我想要发生的是,如果我单击一个链接,我会转到该页面。但是,如果我在链接外的 div 中的任何地方单击,它都会执行回调函数。

实际发生的情况是,如果我单击 div 中的链接,它会执行 div 的回调函数,然后立即导航到链接页面。

我知道如何防止我在 div 中的点击冒泡到文档。但是,我如何获取常规的旧 html 链接并阻止点击该链接触发 div 的点击事件?我是否必须将链接重新格式化为带有自己的回调的 javascript 链接,然后停止传播?或者,有更简单的方法吗?

艾米

最佳答案

Seth 的想法是正确的,尽管在检查中更具体一些是个好主意。

YAHOO.util.Event.on("container", "click", function(e) {
    var tgt = YAHOO.util.Event.getTarget(e);

    if(tgt.nodeName.toLowerCase() !== 'a') {
        YAHOO.util.Event.preventDefault(e);

        console.log("Not an anchor!"); //TODO: REMOVE DEBUG OUTPUT
    }
});

我在 http://tivac.com/yui2/amy_events.htm 构建了一个示例页面以防万一你想看到它的实际效果。

关于javascript - YUI 事件和链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1407876/

相关文章:

javascript - YUI 2.x 是否有相当于 jQuery 的scrollTo 的?

javascript - 表排序器分页使表行不可点击

javascript - 另一个 promise 中的 promise

javascript - 如何根据百分比机会运行 IF JS 逻辑?

javascript - 停止输入键提交也会停止多行文本编辑中的输入键

javascript - 使用 CasperJS 和 PhantomJS 抓取 Google 关键字工具

javascript - 如何确保绑定(bind)到 hashChange 事件不冒泡?

c# - 如何将事件触发器添加到业务对象的数据模板?

javascript - 如何让YUI数据源解析数据集中的Null值?