我有这个网站:http://www.problemio.com如果你去那里点击任何说“重要”的链接,它会给你一个登录弹出窗口。弹出窗口工作正常。弹出该对话框时出现问题,按“create_profile”链接。
不是显示创建配置文件弹出窗口,而是转到create_profile页面。
以下是我的点击处理程序:
$('#login').live('click' , function()
{
event.preventDefault();
// Make the existing suggestions visible
$("#loginpopup").dialog();
$("#createprofilepopup").dialog( 'close' );
return false;
});
$('#signup').live('click' , function()
{
event.preventDefault();
$("#loginpopup").dialog( 'close' );
$("#createprofilepopup").dialog( { height: 800, width: 600 } );
return false;
});
我只是把event.preventDefault();在那里,但不完全确定它应该如何工作。任何建议或想法,为什么它没有像我预期的那样工作?
谢谢!
答案 0 :(得分:5)
变化:
$('#login').live('click' , function()
$('#signup').live('click' , function()
为:
$('#login').live('click' , function(event)
$('#signup').live('click' , function(event)
因为你需要event
参数,否则你正在调用一个不存在的对象的函数。
答案 1 :(得分:2)
你错过了函数签名中的event参数。试试这个。
$('#login').live('click' , function(event)
{
event.preventDefault();
// Make the existing suggestions visible
$("#loginpopup").dialog();
$("#createprofilepopup").dialog( 'close' );
return false;
});
$('#signup').live('click' , function(event)
{
event.preventDefault();
$("#loginpopup").dialog( 'close' );
$("#createprofilepopup").dialog( { height: 800, width: 600 } );
return false;
});
答案 2 :(得分:1)
您需要将事件传递给点击功能
$('#login').live('click' , function(event){
event.preventDefault();