0

したがって、次のjQueryコードを1ページのチェックアウトページにロードしようとしています...基本的に、テキストフィールドに入力すると、related-divが表示されます...ただし、ロードされません。jsfiddleで試してみましたが、正常に動作しますが、Magentoで一度は動作しません...

jQueryコード

<script>
  jQuery.noConflict();

  jQuery(window).load(function(){
jQuery(".show-hidden-div").click(function() {
    jQuery('.hidden-div').css('display','none');
    var inputId = $(this).attr('id');
    jQuery("#tip-"+inputId+"").show();
});

});
</script>

上記のコードはhead.phtmlファイルに直接入力されます

これがどのように機能するかを示すjsfiddleへのリンクです... http://jsfiddle.net/PeTUy/8/

どんな洞察も役に立ちます!

4

2 に答える 2

3

Magento にはデフォルトで jQuery が含まれていないため、最初に jQuery ソースを含める必要があります。

まだ jQuery を含めていない場合は、次のリンクが役立ちます。

http://www.magentocommerce.com/boards/viewthread/268482/

これを行ったと仮定すると、jQuery の noConflict モードを使用する利点は、要素の選択に使用される変数を次のように再定義することです。

var $j = jQuery.noConflict();

次に、次のように必要な場所で $j を使用します。

$j(document).ready(function(){

    $j(".selector).functionName();

});

そうすれば、jQuery が使用する標準の "$" 変数は、同じ変数を使用するプロトタイプなどと競合しません。

于 2012-06-19T06:15:43.183 に答える
0

ただし、Magento と jQuery および Prototype の使用に関しては:

  1. プロトタイプ スクリプトの前に jQuery を含める
  2. jQuery.noConflict(); を追加します。jQueryファイルの最後に直接追加して、常にPrototypeスクリプトの前に呼び出され、適切に分離されるようにします

これは、protptype と jquery の競合を避けるために必要です。どちらも $ をメソッド名として競合するためです。

于 2012-06-16T05:53:10.003 に答える