2

これが私がこれまでに試したことです:

var preventDefaultFunc = function(e){   
            e.preventDefault();
        }

次に、後でクリック関数で呼び出します。

$('.item').click(function(e){

            var $this = $(this);
            var $thisChild = $this.find('.item-content');
            if ( $this.hasClass('big') ) {
                return false;
            }

            $this.on(preventDefaultFunc);
    // make the box bigger and load the article inside it here
});

問題の div は、大きくしたらその中のクリックを許可する必要があるため、後で再びオフにできるように、このようにしました。

ページがボックス内のリンクをロードするのを停止するはずなので、オン/オフスイッチが機能していません。これにより、ボックスを大きくして、代わりに ajax で記事をロードできます。on/off はバインド/アンバインドの jquery 1.7 バージョンであることに注意してください。

助言がありますか?

4

3 に答える 3

5

あなたの意味を理解しようとして、それを試してみましょう:-)

  $('.item').on('click',function(e){
        e.preventDefault();
        var $this = $(this);
        var $thisChild = $this.find('.item-content');
         if ( $this.hasClass('big') ) {
             return false;
          }
       //-- this should unbind your click 
      $('.item').off('click');

      // make the box bigger and load the article inside it here
  });
于 2012-02-23T22:17:58.533 に答える
1

デフォルトのクリック アクションを停止する場合は、次のように置き換えます。

$this.on(preventDefaultFunc);

これとともに:

e.preventDefault();

デフォルトのクリックアクションを妨げる以外に、あなたが何をしようとしているのか100%明確ではありませんが、あなたはそれを考えすぎているように見えます. これで問題が解決しない場合は、セットアップと目標をもう少し詳しく説明してみてください。

于 2012-02-23T22:10:01.447 に答える