重新加载页面后,此代码按预期工作--javascript工作并打开弹出窗口。但是当使用AJAX更改ajaxUpdatable的内容时,它不起作用。我如何在这里为我的eauth函数“重新绑定”或创建.live()?
$("a.google").eauth({"popup":{"width":880,"height":520},"id":"google"});
这里的整页。
<div class="ajaxUpdatable">
<a class="direct auth-link google" href="/coverication/?
r=site/login&service=google">Google</a>
<a class="direct auth-link yandex" href="/coverication/?r=site/login&service=yandex">Яндекс
</div>
<script type="text/javascript">
jQuery(function($) {
var popup;
$.fn.eauth = function(options) {
options = $.extend({
id: '',
popup: {
width: 450,
height: 380
}
}, options);
return this.each(function() {
var el = $(this);
el.live('click', function() {
if (popup !== undefined)
popup.close();
var url = this.href + (this.href.indexOf('?') >= 0 ? '&' : '?') + 'js';
/*var remember = $(this).parents('.auth-services').parent().find('.auth-services-rememberme');
if (remember.size() > 0 && remember.find('input').is(':checked'))
url += '&remember';*/
var centerWidth = ($(window).width() - options.popup.width) / 2;
var centerHeight = ($(window).height() - options.popup.height) / 2;
popup = window.open(url, "yii_eauth_popup", "width=" + options.popup.width + ",height=" + options.popup.height + ",left=" + centerWidth + ",top=" + centerHeight + ",resizable=yes,scrollbars=no,toolbar=no,menubar=no,location=no,directories=no,status=yes");
popup.focus();
return false;
});
});
};
});
$("a.google").eauth({"popup":{"width":880,"height":520},"id":"google"});
$("a.yandex").eauth({"popup":{"width":900,"height":550},"id":"yandex"});
</script>
答案 0 :(得分:0)
试试这个
$("a.google").live("eauth", function({
"popup": { "width": 880, "height": 520 },
"id": "google"
});