麻烦使用\'link_to\'和jQuery
|
我正在使用Ruby on Rails 3.0.7和jQuery 1.6.1,并将AJAX click事件绑定到
link_to
HTML输出,如以下示例所示:
link_to \'Link name\', \'#\', :id => \'link_css_id\'
如您所见,我将URL设置为\'#\'。当我单击链接时,当前视图也将移动到页面顶部。由于我不喜欢这种行为,因此我没有为URL参数设置任何内容(即nil
或\'\'
),但是单击链接后,我收到一条警告消息“错误”,该消息在消失后立即消失。然后在Firebug控制台中,我得到:
uncaught exception: [Exception... \"prompt aborted by user\" nsresult: \"0x80040111 (NS_ERROR_NOT_AVAILABLE)\" location: \"JS frame :: resource://gre/components/nsPrompter.js :: openTabPrompt :: line 468\" data: no]
如何解决此问题,并避免单击链接时出现在页面顶部的行为?
AJAX请求是:
$jQ(\'#link_css_id\').bind(\'click\', function() {
$jQ.ajax({
type: \"POST\",
url: \"<%= user_url(@current_user)%>/test_method\",
data: \"test_data=test\",
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus + \' - \' + errorThrown + \'\\n\\n\' + jqXHR.responseText);
$jQ(\'#css_id\').html(\'error\')
},
success: function(data, textStatus, jqXHR) {
$jQ(\'#css_id\').html(\'success\')
}
});
});
没有找到相关结果
已邀请:
3 个回复
惭法搽
。这将阻止事件采取默认操作(例如,单击链接将打开“ 9”网址)。这是非常有用的。您可能想要链接到现有页面,以供未启用javascript(并且ajax调用将无法使用)的用户使用,而那些已启用javascript的用户将忽略该页面。 jQuery的preventDefault文档。
究补闯
而不是
,它对我有帮助。
痰嫉
,并使用
停止移动窗口的默认click事件。 http://api.jquery.com/event.preventDefault/