为啥我的 jQuery on click 事件不起作用?

Posted

技术标签:

【中文标题】为啥我的 jQuery on click 事件不起作用?【英文标题】:Why my jQuery on click event not working?为什么我的 jQuery on click 事件不起作用? 【发布时间】:2014-09-25 18:25:12 【问题描述】:

我正在尝试制作导航按钮单击事件,但单击事件上的 jQuery 似乎无法正常运行。当我单击该按钮时,它应该向控制台记录一条消息。这是我的代码:

$(document).ready(function () 
    'use strict';
    $('.dropdown-toggle').on('click', function (event) 
        console.log("It's Working Jim!");
    );
);

dropdown-toggle 类应用于包含文本的 div(我也尝试过使用 span),dropdown 类应用于包含 div 的 li。在决定发布自己之前,我已经浏览了至少 15 个其他类似的主题。

提前致谢, 哈里斯·米尔扎。

【问题讨论】:

【参考方案1】:

如果.dropdown-toggle 元素是动态添加的(我假设它们会这样做),那么您必须将您的事件委托给该元素:

$(document).ready(function () 
    'use strict';
    $(document).on('click','.dropdown-toggle', function (event) 
        console.log("It's Working Jim!");
    );
);

假设您使用的是正确版本的 jQuery(即您的 jQuery 支持 on()),所有这些都是可能的

【讨论】:

【参考方案2】:

它正在工作

如果您试图让它在移动设备上运行,我建议您在“vclick”事件中使用。

参见示例:http://jsfiddle.net/m3Q5F/

<div class= "dropdown-toggle">
        on click
</div>

$(document).ready(function () 
    'use strict';
    $('.dropdown-toggle').on('click', function (event) 
        console.log("It's Working Jim!");
    );
);

【讨论】:

【参考方案3】:

您好,您能否展示您的 html 或告诉我您使用的是支持功能的正确 jquery 版本。它工作正常。在动态添加的 div 上。

$(document).ready(function () 
    'use strict';
    $('ul li').append("<div class= 'dropdown-toggle'> on click </div> ");

    $('ul li div.dropdown-toggle').on('click', function (event) 
        console.log("It's Working Jim!");
    );
);

这是我的 jsfiddle 链接 http://jsfiddle.net/m3Q5F/1/

【讨论】:

以上是关于为啥我的 jQuery on click 事件不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 jQuery click 事件在我的多步骤表单中不能多次工作?

试图在JavaScript / jQuery中添加一个on click事件

jQuery 中的多个链式 .on('click') 事件侦听器

JQuery .on('click') 在 DataTables 第二页或超过 11 的行中不起作用

jquery为啥触发多次click事件

更改 id 或类时单击事件不起作用