gpt4 book ai didi

javascript - 为什么我的 `onclick` 不起作用,尽管其他东西都有效?

转载 作者:行者123 更新时间:2023-12-01 04:02:44 26 4
gpt4 key购买 nike

所以我正在使用 gentelella 的某些部分并且有一个文件custom.js。我对该文件有一些问题,因为某些部分可以工作,而其他部分则不能。

问题出在这个方法上:

$(document).ready(function() {
console.log("custom.js inside document ready");


$('.collapse-link').on('click', function() {
console.log("clicked on a collapse-link");

var $BOX_PANEL = $(this).closest('.x_panel'),
$ICON = $(this).find('i'),
$BOX_CONTENT = $BOX_PANEL.find('.x_content');

// fix for some div with hardcoded fix class
if ($BOX_PANEL.attr('style')) {
$BOX_CONTENT.slideToggle(200, function(){
$BOX_PANEL.removeAttr('style');
});
} else {
$BOX_CONTENT.slideToggle(200);
$BOX_PANEL.css('height', 'auto');
}

$ICON.toggleClass('fa-chevron-up fa-chevron-down');
});

$('.close-link').click(function () {
console.log("close-link clicked")
var $BOX_PANEL = $(this).closest('.x_panel');

$BOX_PANEL.remove();
});
});

它写着“custom.js inside document ready”,但是当我单击时什么也没有发生。

如果我查看 HTML,我会发现与 JS 中的类相同: enter image description here

最佳答案

可能在文档就绪时找不到这些特定元素。一般来说,最佳实践是将事件委托(delegate)给文档,如下所示:

$(document).ready(function() {
console.log("custom.js inside document ready");


$(document).on('click', '.collapse-link' /* <--- notice this */, function() {
console.log("clicked on a collapse-link");

var $BOX_PANEL = $(this).closest('.x_panel'),
$ICON = $(this).find('i'),
$BOX_CONTENT = $BOX_PANEL.find('.x_content');

// fix for some div with hardcoded fix class
if ($BOX_PANEL.attr('style')) {
$BOX_CONTENT.slideToggle(200, function(){
$BOX_PANEL.removeAttr('style');
});
} else {
$BOX_CONTENT.slideToggle(200);
$BOX_PANEL.css('height', 'auto');
}

$ICON.toggleClass('fa-chevron-up fa-chevron-down');
});

$(document).on('click', '.close-link' /* <--- notice this */, function () {
console.log("close-link clicked")
var $BOX_PANEL = $(this).closest('.x_panel');

$BOX_PANEL.remove();
});
});

关于javascript - 为什么我的 `onclick` 不起作用,尽管其他东西都有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42064785/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com