0

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>

また、ポップオーバー関数を呼び出すためにページに含まれている jQuery は次のとおりです。

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

この問題を解決するためのアイデアをいただければ幸いです。

4

2 に答える 2

0

$ .noConflict();への呼び出しが表示されません。

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

サイトがダウンする直前に、コンソールからjQuery('。popoverthis')。hide()を試しましたが、同じ結果になりました。

于 2012-06-14T14:19:25.157 に答える
0

確認すべき点:

  • ページの読み込み順序 - jquery またはjquery.popover.jsプラグインが呼び出される前にポップオーバーが実行されていますか?

これが問題である場合は、次のように enque スクリプトの優先度を上げたり下げたりする必要があります。

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

  • jQuery の正しいバージョンを使用していますか (wordpress には 1 つがバンドルされており、外部スクリプトに必要なバージョンよりも古い場合があります)。

  • firebug/web インスペクターを開き、手動で実行します。
    jQuery('.popoverthis').popover({ placement: "bottom" });

何が問題なのかを確認するには

更新:うまくいかない可能性があるものは他にもいくつかあります(これは問題を修正する方法のリストです):

  • サイトに2つのjQueryを含めています(おそらく別のプラグインによる)-1.4.2は1.7.2の後に来て、基本的なブートストラップJavaScriptを壊します。
  • このプラグインに必要なBootstrap CSS情報がありません。実際には機能しますが、見栄えを良くするためのCSSがないため、サイトの下部にツールチップ情報が表示されます。

解決策: https://github.com/crowdfavorite/jquery-popoverによる次のようなスタンドアロンの popovover プラグインを使用し 、そのCSSファイルも含めます。

(ブートストラップのCSSを取り込むこともできますが、サイトのCSSが壊れる可能性があります)

于 2012-06-14T10:55:05.020 に答える