jquery代码我无法理解

时间:2014-11-13 01:29:07

标签: jquery

以下代码来自https://github.com/tsi/inlineDisqussions/blob/master/inlineDisqussions.js

这段代码在做什么?我很欣赏简单的英文翻译。学生在这里。

  // Hide the discussion.
  $('html').click(function(event) {
    if($(event.target).parents('#disqussions_wrapper, .main-disqussion-link-wrp').length === 0) {
      hideDisqussion();
    }
  });

3 个答案:

答案 0 :(得分:2)

此代码的作用是在整个页面上注册鼠标按钮单击事件。如果有人点击该页面,则会调用该函数。该函数传递一个事件(将是click事件)。在事件中有一个名为“target”的属性,它是实际点击的HTML元素。然后我们询问被点击的元素是否具有父祖先元素,该元素是“id”为“disqussion_wrapper”的元素,或者具有“main-disquission-link-wrp”类。如果这两个都不成立,我们称之为hideDisqussion()函数。

答案 1 :(得分:2)

我不知道你被困在哪里,但我建议:

// Binding a click-handler to the <html> element,
// passing that event to the anonymous function:
$('html').click(function(event) {
      // if the element that was clicked does not have any ancestor elements with the
      // 'id' of 'disqussions_wrapper' or a class of 'main-disqussion-link-wrp
      if ($(event.target).parents('#disqussions_wrapper, .main-disqussion-link-wrp').length === 0) {
          // we (presumably, from the function name) hide the disqussion/disqus element(s):
          hideDisqussion();
      }
});

参考文献:

答案 2 :(得分:0)

Kolban的答案是准确的。 用简单的英语,您还可以说我们只是检查点击的元素是否不是'#disqussions_wrapper, .main-disqussion-link-wrp'的孩子(或仅仅是 - 外) - 如果是这种情况,我们会调用hideDisqussion()。< / p>