【问题标题】:jQuery function returns [object Object] on first click onlyjQuery 函数仅在第一次单击时返回 [object Object]
【发布时间】:2017-01-15 20:10:04
【问题描述】:

下面的函数只在第一次点击时返回 [object Object] 而不是元素中的 html/text。每次后续单击都会返回元素文本。我尝试过使用 .html 和 .text - 这不起作用。问题似乎出在我添加 onclick 功能时,因为如果我删除 onclick 并简单地使用 $("#id").html() 而没有点击功能,它就可以工作。

 +  $('.education-modal-link').on('click', function(e) {

    e.preventDefault();

    var modalCaptionTextCall = $(this).prev('div').html();

    $('div.modal-caption').eq(0).html(modalCaptionTextCall); 
    })

我做错了什么?

在此链接中查看问题:http://johnhoich.com/homepage 向下滚动到教育部分并单击教育内容卡片。

【问题讨论】:

  • 我只是猜测,因为没有足够的信息,但看起来它与链接上的 featherlight lib 被用作第一个 click 相关,将模式创建为 DOM 元素 -在这种情况下,只有一个 click 事件被调用。然后,当您单击链接时调用此初始 click 事件后,您将获得 click 事件链,您可以在 Chrome 开发工具调试器中进行检查。
  • 我认为你是对的 - 我该如何解决这个问题?
  • @IgnacyKasperowicz 我应该如何解决这个问题?
  • 你会创建一个 JSBin 来重现这个问题吗?如果我们可以编辑 JS/HTML/CSS 而不是通过页面上的所有 JS 文件搜索所有内容,这将更容易提供帮助。
  • @IgnacyKasperowicz 我想通了!您的建议对我有所帮助...我将该功能移至文件中的其他位置。我移动了它,因此该功能将包含在一次单击事件中……获取数据羽毛光的地方。感谢您的提示...

标签: javascript jquery json jquery-events featherlight.js


【解决方案1】:

问题在于 click 事件在第一次点击事件之外 - 所以在第一次点击时没有调用 [object],但在之后的每次点击时仍会调用。

我必须在巨大的 JS 文件中找到 click 事件并在其中添加函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-24
    • 2023-03-06
    • 1970-01-01
    • 2020-07-18
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    相关资源
    最近更新 更多