【问题标题】:Reference DOM with $(this) after plugin [closed]插件后使用 $(this) 引用 DOM [关闭]
【发布时间】:2013-10-24 01:17:24
【问题描述】:

我不是 jquery 插件专家。我正在使用来自http://lab.narf.pl/jquery-typing/ 的插件,它基本上允许我在按键后 n 秒内调用一个函数。但是,当我调用函数时,我想将手头的 DOM 传递给它:

$('.liveSave').typing({
    start: function () {
        $('#savingInfo').html('Saving...');
    },
    stop: function () {
        saveInfo($(this));
    },
    delay: 1000
});

但是,$(this) 似乎没有传递我称之为“打字”的元素。我猜它正在传递打字实例(或其他东西,我不确定如何找出对象是什么)。

这是否意味着插件中缺少某些内容?如果是这样,你能帮我知道要包括什么和在哪里吗? (插件并不大,但你可以在我附加到这个问题的链接中看到源代码)

提前致谢!

【问题讨论】:

  • 它在其文档中明确提到::lab.narf.pl/jquery-typing 关于如何使用它,您在使用它之前是否看过它的示例..?
  • 我会尝试的第一件事,除非文档:stop: function () { console.log(arguments) },

标签: javascript jquery jquery-plugins


【解决方案1】:

如果您查看documentation,则startstop 回调提供$elem 作为第二个参数,您可以使用它

$('.liveSave').typing({
    start: function (event, $elem) {
        $('#savingInfo').html('Saving...');
    },
    stop: function (event, $elem) {
        saveInfo( $elem);
    },
    delay: 1000
});

【讨论】:

    【解决方案2】:

    front page 上显示它作为第二个参数传入

    start: function (event, $elem) {
                            ^^^^^
    

    【讨论】:

    • 谢谢,抱歉,很明显我是新手,我想我没看懂文档。感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 2021-07-17
    • 2014-04-28
    • 1970-01-01
    • 2013-11-06
    • 2013-03-31
    • 2018-10-01
    • 2016-06-05
    • 2013-09-18
    相关资源
    最近更新 更多