当前位置: 首页 > 面试题库 >

替代支持eventData的jQuery .toggle()方法?

姜德泽
2023-03-14
问题内容

在jQuery文档的.toggle()方法规定:

为方便起见,提供了.toggle()方法。手动实现相同的行为是相对简单的,如果内置于.toggle()的假设证明是限制性的,则可能有必要。

.toggle事实证明,内置的假设限制了我当前的工作,但是文档没有详细说明如何实现相同的行为。我需要将eventData传递给提供给的处理函数toggle(),但似乎仅.bind()支持此功能,而不支持.toggle()

我的第一个倾向是使用单个处理程序函数全局的标记来存储单击状态。换句话说,而不是:

$('a').toggle(function() {
  alert('odd number of clicks');
}, function() {
  alert('even number of clicks');
});

做这个:

var clicks = true;
$('a').click(function() {
  if (clicks) {
    alert('odd number of clicks');
    clicks = false;
  } else {
    alert('even number of clicks');
    clicks = true;
  }
});

我尚未测试后者,但我怀疑它会起作用。这是做这样的事情的最好方法,还是我想念的更好的方法?

谢谢!


问题答案:

似乎是一种合理的方法…我只是建议您使用jQuery的数据存储实用程序,而不要引入额外的变量(如果您想跟踪一大堆链接,可能会很头疼) 。因此,根据您的示例:

$('a').click(function() {
  var clicks = $(this).data('clicks');
  if (clicks) {
    alert('odd number of clicks');
  } else {
    alert('even number of clicks');
  }
  $(this).data("clicks", !clicks);
});


 类似资料:
  • 我需要将一个表从Cassandra迁移到PostgreSQL。 需要迁移的内容:该表有一个TimeUUID列,用于将时间存储为uuid。此列还用作聚类键。时间存储为UUID,以避免在相同毫秒内插入行时发生冲突。此外,在where子句中涉及此列,通常是在'foo'和'bar'之间的

  • 问题内容: 在升级elasticsearch时,需要替换river-mongodb插件。由于mongodb河已经过时,因此需要您的帮助来找出替代方案。我们需要索引整个mongodb集合。 问题答案: 我知道有两种选择: 使用Mongo连接器 将Logstash与社区支持的mongodb输入插件一起使用 1比2的优势在于它是MongoDB成员的官方连接器,但是如果您更喜欢Logstash,那么第二种

  • 在 Windows(Windows 7以上)系统以及 IE 里,当输入密码的时候,右边会有一个小眼睛,按下这个小眼睛,就会显示密码。在一些手机里面也有一个“显示密码”的复选框,勾选之后输入的密码就变成明文了。这样的功能可以很好的防止输错密码,尤其是一些只需输入一次密码的注册。现在我们可以使用jQuery插件jquery.toggle-password让我们的网站也有类似的功能。 查看演示

  • 问题内容: PHP_excel是否有其他选择可以以自定义格式“导出到XLSX / XLS”文件? 问题答案: 我编写了一个非常简单的类,用于导出到“ Excel XML”(又名SpreadsheetML)。对于最终用户而言,它不如XSLX方便(取决于文件扩展名和Excel版本,他们可能会收到警告消息),但使用起来比XLS或XLSX容易得多。

  • 问题内容: 对于像 制作视频的人相信 在许多情况下,冬眠过大 基本的sql是一种很好的语言,它可以将很多冬眠抽象化 我想听听他们如何比较,以及每个人的优缺点。 问题答案: 在这里,您可以找到Java ORM和持久性解决方案的详尽列表。并非所有以下Hibernate / JPA方法都遵循,其中某些方法在设计上相当容易。 当然,该站点上没有列出解决方案,例如带有模板的Spring JDBC等 。对于需

  • 问题内容: 我目前有这样的代码: 但是,这可能会在将来导致难以发现的错误,因为读者可能不会注意到上面出现的错误。或者,贡献者可能会错误地添加,而忘记添加。 我如何避免这种陷阱? 问题答案: 这样,实际上是一个“全局”。可以从任何地方对其进行读写。 与字典的替代方法相比,我更喜欢这种方法,因为它可以自动完成变量名。