Javascript coffeescript:jquery单击函数只触发一次
我一直在寻找答案,但找不到有效的答案 基本上,我有一个功能可以发布到facebook墙或twitter提要,但单击功能只启动一次 代码如下:Javascript coffeescript:jquery单击函数只触发一次,javascript,jquery,facebook,coffeescript,Javascript,Jquery,Facebook,Coffeescript,我一直在寻找答案,但找不到有效的答案 基本上,我有一个功能可以发布到facebook墙或twitter提要,但单击功能只启动一次 代码如下: $('.social a').on 'click', (e) -> e.preventDefault() book = book.collectMeta $(@).parents('.book') if $(@).hasClass 'fb-share' postFacebook book if $(
$('.social a').on 'click', (e) ->
e.preventDefault()
book = book.collectMeta $(@).parents('.book')
if $(@).hasClass 'fb-share'
postFacebook book
if $(@).hasClass 'twitter-share'
postTwitter book
触发的collectMeta函数如下:
book =
collectMeta: (dom) ->
# Helper function that collects data of a book and prepares it
# for sharing on sociall media
# The argument for this function accepts the parent DOM Object
# that searches for the appropriate Meta Data
$title = dom.find '.book-title'
title = helper.cleanWhite $title.text()
$author = dom.find '.book-author'
author = helper.cleanWhite $author.text()
$description = dom.find '.book-description'
description = helper.cleanWhite $description.text()
description = helper.trimText(description, 140)
$link = dom.find '.book-link'
link = glob.baseUrl() + $link.attr 'href'
$image = dom.find '.book-image'
image = glob.baseUrl() + $image.attr 'src'
return book =
title: title
caption: author
description: description
link: link
image: image
我在第一次点击后收到的错误是:
book.collectMeta不是一个函数
非常感谢您的帮助 您的第一次单击正在调用一个不存在的函数:
book.collectMeta
。这会扼杀你的脚本,所以之后一切都不起作用
在我看来,这可能是因为您正在重写此行中的book变量:
book = book.collectMeta $(@).parents('.book')
所以,第一次点击会起作用,但之后的点击不会起作用,因为book不再具有与之相关联的功能