【问题标题】:onclick in tooltip not firing工具提示中的 onclick 未触发
【发布时间】:2013-01-05 15:11:18
【问题描述】:

请看链接:

http://www.stilgiyin.com/share.php?sshrsrc=http%3A%2F%2Fimages.boyner.com.tr%2FCmsFiles%2FImages%2FProductImages%2FOriginal%2F654000%2F1_1262674.jpg

如果您单击夹克,您将看到“此处”的警报。查看页面源代码,您会看到导致此警报的 onclick。

如果您将鼠标悬停在夹克上,您会看到一个工具提示。我为此工具提示使用了 jquery tiptip 插件。该插件要求您将工具提示的内容放在标题属性中。

我正在尝试在用户单击工具提示内的粉红色大按钮时触发 onclick 事件。但是,它似乎不起作用,因为我设置的“intooltip”警报没有弹出。

onclick的代码是:

onclick="alert('intooltip'); clickstatistictit(this.rel); _gaq.push(['_trackEvent', 'outgoing', 'boyner.com.tr', '']); trackConv('995622692', 'JMHBCOzUgAQQpP7f2gM');"

我不知道问题是否在于我在 intooltip 周围有双引号而不是单引号。但是,如果我使用单引号,则会关闭以 title='

开头的工具提示内容

或者问题可能完全不同。有什么想法吗?

谢谢, 安德鲁

【问题讨论】:

    标签: javascript onclick tooltip


    【解决方案1】:

    您应该在标题属性中转义双引号,否则您将在 onclick 处理程序中遇到语法错误。

    最好将事件处理代码放在标题中的单独函数中。然后,您可以只使用 title 属性中的函数名称,而不是现在使用的函数调用列表。

    【讨论】:

    • 你好威廉。我同意一个单独的功能。但是,我不明白您所说的转义双引号是什么意思...
    • 我不认为我可以发布所有内容。有很多。我正在用 PHP 打印它。 onclick 部分是这样的: 我试图弄清楚如何使用 PHP 回显转义的双引号 :)
    • 看来用 ' 替换 \" 已经解决了问题
    • 这可能行得通,但最好是转义引号
    【解决方案2】:

    就像你说的,原因是你在其他双引号中使用了双引号。当您检查萤火虫中的粉红色按钮时,生成的代码显示:

    onclick="alert(" 
    

    所以它没有被正确解释。

    【讨论】:

    • 但我不能使用 onclick="alert(' 因为这会关闭 title=',并关闭工具提示。
    【解决方案3】:

    tiptip jQuery plugin 不会为每个带有工具提示的元素创建一个新的子元素。相反,它使用通用容器并相应地移动它,因此工具提示不是元素的后代。因此,单击事件不会冒泡到您的元素 onclick 处理程序。

    请注意,tiptip 不适用于此类工具提示。毕竟tiptip 最初是用于文本工具提示的。

    【讨论】:

    • 嗨泽塔。你知道是否有我可以使用的解决方法吗?还是您认为我需要使用不同的工具提示库?
    猜你喜欢
    • 2017-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2018-01-18
    • 2011-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多