0

我有使用 Jquery 和 Ajax 从另一个页面加载图像的代码。

$('a').click(function(){
$('<div id="smiley">').load("ajax.html img",function(){
$(this).hide().appendTo('#new').fadeIn()}); 
return false;                   
})

但是,有两个问题:1.我无法阻止链接同时打开页面上的其他链接(即使我做一个#box或类似的东西。)2.每次点击链接时,图像都会不断加载。我试过了return false ,*preventDefault* 但似乎没有任何效果。任何想法?

谢谢米罗

4

3 回答 3

0

问题 1 通过将标签的href属性设置为:ahref="javascript:void(0);

问题 2 通过添加一个id, 例如id="img_loager"您希望具有此行为的一个标签来解决,然后将您的点击分配更改为:

$("#img_loader").click(function(){...

现在,您正在将行为分配给所有a标签。返回 false 并阻止默认值只会阻止事件传播到其目标的父级。:)

于 2011-12-30T12:26:06.777 回答
0

我们知道return false并且preventDefault()只是阻止 dom 的默认行为,例如单击 a 标签时链接到其他页面的默认行为<a href="other.html">。但是,它不能阻止 DOM 事件侦听器回调,例如:

$('a').on('click', function(event){
    event.preventDefault();
    doSomething();
    return false;
});

代码可以阻止被点击的 dom 的默认行为,但不能取消doSomething().

于 2017-08-10T09:15:31.537 回答
-1

删除 href 属性并应用文本装饰样式

<a style="text-decoration: underline;" title="click me"></a>

这是一个相关的问题:HTML Divs show/hide issue

于 2011-12-30T12:25:48.567 回答