簡體   English   中英

Twitter Bootstrap工具提示(PHP)在Wordpress中不起作用

[英]Twitter Bootstrap Tooltip (PHP) not working in Wordpress

我正在嘗試使用Twitter Bootstrap Popover / Tooltip,但在控制台中出現以下錯誤:

Uncaught TypeError: Object #<Object> has no method 'popover'

我的函數文件中包含以下文件,這些文件可以在源代碼中看到,並在單擊時直接定向到正確的腳本:

add_action('wp_enqueue_scripts','dcr_enqueue_scripts');

if(!function_exists('dcr_enqueue_scripts')):
function dcr_enqueue_scripts(){

    wp_register_script('tooltip',get_template_directory_uri().'/js/bs-tooltip.js','jquery');
    wp_register_script('popover',get_template_directory_uri().'/js/bs-popover.js',array('jquery','tooltip'),'1.0');
    wp_enqueue_script('tooltip');
    wp_enqueue_script('popover');

}
endif; 

帶有以下元素的彈出框:

<th><span>Description:</span><img class="popoverthis" src="<?php bloginfo('template_url')?>/images/info.png" data-content="This is the content" title="Title"></th>

頁面上包含的用於調用popover函數的jQuery是這樣的:

<script type="text/javascript">
jQuery(document).ready(function() {
    jQuery('.popoverthis').popover({
        placement: "bottom"
    });
});

解決此問題的任何想法將不勝感激。

幾件事要檢查:

  • 頁面加載順序-是否在調用jquery或jquery.popover.js插件之前執行彈出窗口?

如果出現此問題,則必須提高/降低enque腳本的優先級,如下所示:

add_action('wp_enqueue_scripts','dcr_enqueue_scripts', **5**); // default is 10

  • 您是否具有正確的jQuery版本(wordpress捆綁了一個版本,有時它可能比外部腳本所要求的版本更舊)?

  • 打開firebug / web檢查器並手動運行:
    jQuery('.popoverthis').popover({ placement: "bottom" });

看看出了什么問題

更新 :還有幾處可能出錯的問題(這是解決問題的方法):

  • 您將在站點上包括兩個jQuery (可能是另一個插件)-1.4.2出現在1.7.2之后,並且破壞了基本的自舉JavaScript。
  • 您缺少此插件所需的Bootstrap CSS信息。 它實際上可以工作,但是由於CSS並未使它看起來漂亮,所以它在網站底部顯示工具提示信息。

解決方案 :使用一個獨立的popovover插件,例如:crowfavorite: https//github.com/crowdfavorite/jquery-popover ,並包括其CSS文件。

(您也可以拉入bootstrap的CSS,但這可能會破壞您的網站CSS

我看不到對$ .noConflict()的任何調用;

http://api.jquery.com/jQuery.noConflict/

在站點關閉之前,我從控制台嘗試了jQuery('。popoverthis')。hide(),結果相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM