首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >定义和调用自定义javascript函数的语法

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

Stack Overflow用户
提问于 2014-05-30 04:49:01
回答 1查看 67关注 0票数 0

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

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

这些操作只是简单地应用和删除类。如您所见,在向DOM元素添加特定类之前,我希望清除元素中指定的现有类作为一种重置。

html

代码语言:javascript
复制
<div id="neti" class="tile"> contents </div>
<div id="sife" class="tile"> contents </div>

javascript

代码语言: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);

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

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

代码语言: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();
      $('this').addClass("active");
      $('#neti').addClass("order-1");
      $('#sife').addClass("order-2");
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-30 05:00:23

有许多问题

代码语言:javascript
复制
(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);

演示:小提琴

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23947238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档