gpt4 book ai didi

javascript - 定义和调用自定义 javascript 函数的语法

转载 作者:行者123 更新时间:2023-12-03 12:30:35 24 4
gpt4 key购买 nike

如何从 jQuery 单击事件中调用自定义函数?

我定义了一个执行某些操作的clearOrder函数。然后,当我单击 DOM 元素时,我想调用该函数,然后执行更多操作。

这些操作只是应用和删除类。正如您所看到的,我想在将特定类添加到 DOM 元素之前从元素中清除指定的现有类,作为一种重置。

html

<div id="neti" class="tile"> contents </div>
<div id="sife" class="tile"> contents </div>

JavaScript

(function() {
clearOrder(function() {
return $('.tile').removeClass("order-1 order-2 order-3 order-4 order-5 order-6 order-7 order-8 order-9 order-10 order-11 order-12 order-13 order-14 order-15 order-16");
});

jQuery(function() {
$('#neti').click(function() {
clearOrder.call;
$('this').addClass("active");
$('#neti').addClass("order-1");
$('#sife').addClass("order-2");

});
});

}).call(this);

脚本行为应该是,当我单击一个元素时,它应该删除所有指定的类,然后应用某些类。

<小时/>

编辑:更改为以下内容,但仍然无法运行。

(function() {
clearOrder(function() {
return $('.tile').removeClass("order-1 order-2 order-3 order-4 order-5 order-6 order-7 order-8 order-9 order-10 order-11 order-12 order-13 order-14 order-15 order-16");
});

jQuery(function() {
$('#neti').click(function() {
clearOrder();
$('this').addClass("active");
$('#neti').addClass("order-1");
$('#sife').addClass("order-2");

最佳答案

存在多个问题

(function () {
//function declaration syntax was wrong
function clearOrder() {
return $('.tile').removeClass("order-1 order-2 order-3 order-4 order-5 order-6 order-7 order-8 order-9 order-10 order-11 order-12 order-13 order-14 order-15 order-16");
};

jQuery(function ($) {
$('#neti').click(function () {
//add () to the end of the function reference to invoke it
clearOrder();
// this is not a string literal, it has to be used as a keyword(without enclosing '') to refer the current clicked element
$(this).addClass("active");
$('#neti').addClass("order-1");
$('#sife').addClass("order-2");

});
});

}).call(this);

演示:Fiddle

关于javascript - 定义和调用自定义 javascript 函数的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23947238/

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