微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery为链接中的li分配onclick

我有一个项目清单
<ul class="list">
    <li>
        <a href="#Course1" class="launch" onclick="alert('event 1')">event 1</a>
    </li>
    <li class="alt">
        <a href="#Course2" class="launch" onclick="alert('event 2')">event 2</a>
    </li>
    <li>
        <a href="#Course3" class="launch" onclick="alert('event 3')">event 3</a>
    </li>
    <li class="alt">
        <a href="#Course4" class="launch" onclick="alert('event 4')">event 4</a>
    </li>
</ul>

我希望能够将链接的onclick分配给li的onclick

到目前为止我的尝试是一次点击(因为我将脚本分配给onclick而不是执行脚本)

$('.list li').click(function() {
    var launch = $('a.launch',this);
    if (launch.size() > 0) { this.onclick = launch.attr('onclick'); }
});

提前致谢
蒂姆

解决方法

@Thomas Stock’s answer上构建以下代码可防止在单击链接而不是li时双重执行. (从 here jQuery网站获得)
$(document).ready(function() {

    $('ul.list li').click(function(e) {
        var $target = $(e.target);
        if(!$target.is("li")) //magic happens here!!
        {
            return;
        }

        var launch = $('a.launch',this);
        if (launch.size() > 0) 
        { 
          eval(launch[0].onclick());
        }
    });
});

原文地址:https://www.jb51.cc/jquery/181105.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐