2012-04-17 14 views
0

私はjquery version 1.3.2を使用していますIEでの作業が、.click(workigない「クリック」が、IE8でこのfunctonは働いていませんは(私のアプリケーションが正常に動作IE9で。私は奇妙な問題に直面しています。8

jQuery('.mutulafriends').live('click',function(){}); 

私はちょうどこの関数内でアラートを置くが、動作していない、それはclickを特定されていないようです。私は、アラート

でこの機能を使用する場合、コンソールに、私はエラー

SCRIPT87: Invalid argument. 
jquery-1.3.2.min.js, line 12 character 12949 

を見ることができます

は完全に機能します。エラーも表示されます:

SCRIPT87: Invalid argument. 
jquery-1.3.2.min.js, line 12 character 12949 

このエラーは、clickには影響していないようです。私はjqueryバージョン1.3.2のためにlive('change'は動作しませんが、なぜlive('clck'が動作していないのですか?任意のアイデア、助けてください。前もって感謝します。これは私のHTMLです。それは長すぎるかもしれないが、私はそれが助けるかもしれないと思う。

 <div class="component-list-wrapper"> 

     <?php if(is_array($result) && count(array_filter($result)) > 0) { 
      foreach($result as $record) { 
       ?> 

      <div class="eliment-component-list eliment-divider"> 
       <div class="user-profile-img-holder"> 
        <img alt="Profile image" 
         src=<?php if(isset($record['ProfileImg'])){echo $img_url.md5($record['ProfileID'])."/default/".$record['ProfileImg'];}else{echo $this->config->item('ivory_img_path')."/thumb-img.png";} ?> /> 
       </div> 
       <div class="user-des-container"> 
        <div class="user-des-left"> 
         <div class="namecontainer"> 
          <label class="darkcolour-large"><?php echo $record['FirstName']; if($record['PrivacySettingFriend']){echo " ".$record['LastName'];} ?></label> <label 
           class="lblsub"><?php echo $record['StateName'].', '.$record['CityName']; ?></label> 
         </div> 
         <div class="friendcontainer"> 
          <label img_url="<?php echo $img_url; ?>" req_type="recieved" friend_id="<?php echo $record['ProfileID']; ?>" class="darkcolour margine-top20 mutulafriends btndialogMutualFriends"><?php if(!isset($record['CommonFriendCount'])){echo "0 Friends in Common";}else if($record['CommonFriendCount']!=1){echo $record['CommonFriendCount']." Friends in Common";}else{echo $record['CommonFriendCount']." Friend in Common";} ?></label> 
         </div> 
        </div> 
        <div class="user-des-right"> 
         <div class="user-des-right-inner"> 
          <img width="13" height="13" class="btnDialogDelete request_del_dialog_open_but" req_type="recieved" prof_friend_id="<?php echo $record['ProfileFriendID']; ?>" 
           src="<?php echo $this->config->item('ivory_img_path'); ?>close_button.png" 
           alt="Profile image"> 
          <div class="button-wrapper"> 
           <input type="button" class="btnRequest btn-white-small request_accept_dialog_open_but" name="" prof_friend_id="<?php echo $record['ProfileFriendID']; ?>" 
            tabindex="123456" value="Accept">          
          </div> 
          <div class="button-wrapper"> 
           <input type="button" class="btnDialogAssign btn-grey-small request_decline_dialog_open_but" prof_friend_id="<?php echo $record['ProfileFriendID']; ?>" 
            name="" tabindex="123456" value="Decline">         
          </div> 
         </div> 
        </div> 
       </div> 
      </div> 

      <?php } 
     } else {?> 

      <div class="no-records-found">No records found</div> 

      <?php } ?> 

     </div> 
+1

'.live()'と 'click'はjQuery 1.3.2でうまく動作しています:http://jsfiddle.net/MgfLr/「無効な引数」と考えられるものがもう1つあります。エラーが指し示す行12には正確に何が入っていますか? – m90

+0

最新の1.7.1の代わりに1.3.2を使っているのはなぜですか? –

答えて

0

あなたのクラスのmutulafriends "doesntのは、バインディング、そう 'クリック' ダイナミックiは

$(document).ready(function(){ 
     jQuery('.mutulafriends').click(function(){ 
      alert('And update your JQuery to the latest one :=)'); 

     }); 
}); 

//デリゲートメソッド

$(document).ready(function(){ 
      jQuery('div.component-list-wrapper').delegate('.mutulafriends','click',function(){ 
       alert('And update your JQuery to the latest one :=)'); 

      }); 
    }); 

で包み考える十分である必要ライブメソッドまたはデリゲートメソッドは、ページの読み込み後に生成される要素を意味するラップバインディング(例:gener ajaxコールでatedしました

+0

実際には、これには改ページ機能もありません。要素は動的に作成されます。また、これは$(document).ready(function()内にあります)。私の問題はライブ( 'クリック'が動作していない理由)ですか? –

+1

Jqueryを更新してみてください... – coolguy

+1

または代理関数を使用します。回答 – coolguy

1

最新のjQueryを試してみてください。それはあなたの問題を解決するかもしれません。そのバージョンには、jQueryのそれ以降のバージョンで対処されたバグや欠陥があるかもしれません。

この回答の現在のバージョンは、1.7.2と.live() has been deprecatedであり、その置換は.on()です。

また、私はかなりと仮定しています。これは、最終エラーアラートに依存しています。これはjQueryライブラリで終わります。非常に有益ではありません。スタックトレースをチェックして、エラーの発生場所を確認してください。ブレークポイントを追加して、実行の特定の部分で値が何であるかを確認してください。私はjQueryに自信を持っています。それは、あなたが間違った値を与えただけかもしれません。タイプミスもチェックしてください。

関連する問題