0

私はを使用してjquery version 1.3.2います。私は奇妙な問題に直面しています。IE9ではアプリケーションは正常に動作しますが、IE8ではこの機能が機能しません

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

この関数内にアラートを入れただけですが、機能していません。を識別していないようですclick。コンソールでエラーが表示されます

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

アラートでこの関数を使用すると

jQuery('.mutulafriends').click(function(){
    alert("");
});

完璧に動作します。ただし、エラーも表示されます。

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

エラーはに影響を与えていないようですclick。jqueryバージョン1.3.2live('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>
4

2 に答える 2

1

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

この回答の現在のバージョンは 1.7.2 であり.live()、非推奨であり、代替は.on()です。

また、最終的には jQuery ライブラリに含まれる終了エラー アラートのみに依存していると思われます。あまり有益ではありません。スタック トレースをチェックして、エラーがどこで発生した可能性があるかを確認してください。ブレークポイントを追加して、実行の特定の部分での値を確認してください。私は jQuery に自信を持っていますが、間違った値を指定しただけかもしれません。誤字脱字もチェック。

于 2012-04-17T11:37:48.420 に答える
0

あなたのクラス「mutulafriends」は動的バインディングを必要としないので、「クリック」で十分だと思います

包み込む

$(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 :=)');

           });
    });

ライブ メソッドまたはデリゲート メソッドは、レイト バインディングにのみ使用されます。これは、ページの読み込み後に生成される要素を意味します。たとえば、ajax 呼び出しによって生成されます。

于 2012-04-17T11:07:41.013 に答える