【问题标题】:Why is this method not working as I would expect?为什么这种方法不能像我预期的那样工作?
【发布时间】:2017-08-03 16:52:11
【问题描述】:

我正在自学 java-script/jQuery,我正在使用 jQuery UI 的 Widget Factory + HTML5/CSS 编写一个范围滑块插件。我有一个方法 moveLabel 正在工作,但不是我期望的那样 - 我不能以我认为应该能够的方式调用它。

这行得通:

self.on('mousemove', function(e) {
    self.rangeslider('moveLabel');
});

我希望这会起作用:

self.moveLabel();

有人可以向我解释有什么区别以及为什么以前的作品和后者没有(和/或指出我的来源)? This is the current CodePen.

我还尝试将mousemove event into the method 也移动到没有成功(要点)。

【问题讨论】:

  • 第一个声明第三方库具有函数rangeslider()moveLabel为参数的类。现在您可以通过类对象self 调用此函数。在您的第二次尝试中,您将 moveLabel 视为库类中不存在的函数。
  • @AlivetoDie 所以rangeslider('moveLabel') 写得对,还是有更合适的写法?
  • 因为它是一个第三方库,并且它使用类概念,所以他们使用的方式非常好(因为它必须经过数千次测试和操作,然后才能成图)。所以就照原样使用吧。

标签: javascript jquery jquery-ui methods jquery-plugins


【解决方案1】:

第一个有效的代码如下:-

使用类概念的第三方库。

它有函数rangeslider(),它接受一个参数(可能是不同的名字)。

在您的代码中,它采用moveLabel 作为参数。

现在你可以通过类对象self调用这个函数了。

在您的第二次尝试中,您将 moveLabel() 视为库类中不存在的函数。而且母鸡它不起作用。

注意:- 经过数千次测试检查和修改后,第三方库出现了,所以我认为没有更好的方法来使用该函数/参数。所以选择第一个本身。谢谢

【讨论】:

    猜你喜欢
    • 2015-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-19
    • 1970-01-01
    • 2021-09-07
    • 2014-10-14
    相关资源
    最近更新 更多