javascript - ko 用冒泡的方式 怎么给所有子元素a标签 绑定click 事件??
PHP中文网
PHP中文网 2017-04-10 15:51:26
[JavaScript讨论组]

不想给所有的 a 都加上 data-bind="click:clickFN" 所以想用冒泡的方式实现

但是像如下这样:如果点击到 i 或 span 标签 那就出问题了 请问大神怎么解决???

<p id="p" data-bind="click:clickFn">
    <a class="item" id="1">
        <i></i>
        <span>链接1</span>
    </a>
    <a class="item" id="2">
        <i></i>
        <span>链接2</span>
    </a>
    <a class="item" id="3">
        <i></i>
        <span>链接3</span>
    </a>    
</p>

var viewModel =function() { var self = this; self.clickFn = function(item,event){ // 通过事件源判断 var e = event || window.event; var src = e.target || e.srcElement; // to do } }; var view = new viewModel(); ko.applyBindings(view);
PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
黄舟

foreach循环生成a标签

天蓬老师

在外层绑定 click 事件,在事件监听器中检查下 event.target 是不是 a 元素。

巴扎黑

直接用foreach循环生成a标签

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号