我正在使用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>
答案 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调用生成