【问题标题】:Jquery Cluetip - using javascript inside tooltipJquery Cluetip - 在工具提示中使用 javascript
【发布时间】:2012-02-15 03:05:43
【问题描述】:

我正在使用Jquery Cluetip 作为我的工具提示。 工具提示内容通过 Cluetip 中的 AJAX 功能加载。在加载的内容中我想使用 Javascript 来增加可用性。

index.html:

<img src="edit.png" title="Test" class="popup" rel="ajax-content.html">

onLoad.js:

$('.popup').cluetip({activation: 'click'});

ajax-content.html:

<script language="javascript" type="text/javascript">
    alert('Hello world!');
</script>
Test content.

结果是点击时出现的工具提示,标题为:'Test',内容:'Test content' 和 no提示“Hello world!”。 FireBug 不显示脚本或控制台错误。

有什么帮助吗?


编辑:

我想通了。

Cluetip 有一个处理 ajax 的默认动作:

ajaxProcess: function(data) {
    data = data.replace(/<(script|style|title)[^<]+<\/(script|style|title)>/gm, '').replace(/<(link|meta)[^>]+>/g,'');
    return data;
}

所以解决方法是:

$('.popup').cluetip({
    activation: 'click'.
    ajaxProcess: function(data) {
        return data;
    }
});

我不确定为什么 Cluetip 会删除所有脚本/样式/标题,可能是为了防止错误。

【问题讨论】:

    标签: jquery ajax tooltip cluetip


    【解决方案1】:

    脚本通常不通过 jquery 的 ajax 获取加载。您通常必须自己通过 $.getScript() 或通过查找脚本元素并自己加载脚本来完成此操作。

    我认为线索提示不会通过其 rel 加载功能为您执行此操作。此外,这通常不是一个好主意,你为什么要这样做?

    【讨论】:

    • Cluetip 默认提供这些选项。我这样做是为了提高我的应用程序的可用性(例如,工具提示内输入字段上的日期选择器)。为什么不是个好主意?
    • 通过 ajax 包含 js 文件并运行它们通常是个坏主意,通常有更好的方法来做到这一点。例如:向所有需要日期选择器的输入添加一个类“日期选择器”。在线索提示“ajaxprocess”提供的回调中,在新添加的 html 中找到“.datepicker”并为其添加日期选择器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多