直播('点击n#39;不工作但是.click(在IE 8中工作)

时间:2012-04-17 10:59:02

标签: javascript jquery ajax

我正在使用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.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>

2 个答案:

答案 0 :(得分:1)

尝试使用最新的jQuery。 可能解决您的问题。可能在jQuery的更高版本中已经解决了该版本中的一些错误/缺陷。

截至此答案的当前版本为1.7.2和.live() has been deprecated,它的替换为.on()

此外,我几乎认为你完全依赖于结束错误提醒,最终会出现在jQuery库中。它的信息量不大。检查堆栈跟踪以检查错误可能源自何处。尝试添加断点以了解执行的某个部分的值是什么。我对jQuery很有信心,可能只是你提供了一些错误的值。检查拼写错误。

答案 1 :(得分:0)

你的班级'mutulafriends'不需要动态绑定,所以'click'就足够了我认为

将其包裹在

$(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调用生成