JavaScript jQuery 这俩格式,单纯只是格式不同,还是有什么特殊用处?
迷茫
迷茫 2017-04-11 09:16:45
[JavaScript讨论组]

前天在网上搜 DOM 的时候,搜到了jQuery ,就觉得挺好,学了 [格式1];
今天然后问别的问题,知道了 [格式2];

我问问,我觉得格式1就挺好,为什么弄个 [格式2]?
这东西有什么特殊的用法吗?

格式1:

<p id="one">aa</p>

<script>
    function BIANHONG()
    {document.bgColor='red';}

    $("#one").on("click",BIANHONG);
</script>

格式2:

<p id="one">aa</p>

            
<script>
    function BIANHONG()
    {document.bgColor='red';}

    $("#one").click(BIANHONG);
</script>
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(7)
高洛峰

我知道用 on 可以做事件委托

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
<script type="text/javascript" src="jquery.min.js"></script>
</head>

<body>
<p>
    <ul>
        <li>0</li>
    </ul>
</p>
<button>增加LI</button>
<script type="text/javascript">
$(function() {
    
    //新增加LI
    $('body').on('click', 'button', function() {
        var i = $('li').length + 1;
        $('ul').append('<li>' + i + '</li>')
    });
    
    /* 这个后面加进来的LI也能半丁事件
    $('body').on('click', 'li', function() {
        console.log($(this).html())
    });
    */
    
    // 这个不可
    $('li').click(function() {
        console.log($(this).html())
    });
    
});
</script>
</body>
</html>

有一次面试就问了我为什么用ON,我说不知道,我就知道我习惯用这个,他可以事件委托,做前端这么多年,一直没去追究为什么,就知道用,后来人家没要我

大家讲道理

click 是一个很常用的事件绑定,使用第二种方法会更简洁一些。

怪我咯

建议使用on,性能更好

黄舟

第二种只是第一种的别名,在 jquery 源码中能看到第二种其实就是转换成第一种执行。
为什么会有第二种,大概是因为少打点字嘛,方便咯。

巴扎黑

on -> 事件委托
.click(fn) -> 简洁明了

伊谢尔伦

是否事件委托

迷茫

一个事件委托,一个直接绑定事件。像动态生成的元素你用二种方法试一下就知道区别了。

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

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