2013-07-15 56 views

回答

2

綁定事件從<a>標記分開。與此HTML

$(document).ready(function() { 
    $("a.close").on("click", function (e) { 
     e.preventDefault(); 
     $(this).hide("slow"); 
    }); 
}); 

:試試這個

<a href="#" class="close">Close</a> 

DEMO:http://jsfiddle.net/rp3PZ/

如果這些元素的動態添加,您可以使用事件委託像這樣:

$(document).on("click", "a.close", function (e) { 
    e.preventDefault(); 
    $(this).hide("slow"); 
}); 

DEMO:http://jsfiddle.net/zvTer/

而不是使用document,您應該想要使用更近的靜態容器元素。在這種情況下,您也需要使用上面的$(document).ready


根據評論,這個關閉錨似乎嵌套在一個類爲「contentbox」的容器中。單擊錨點時要隱藏此容器,可以使用$(this).closest(".contentbox").hide("slow");。這裏有一個例子:http://jsfiddle.net/rp3PZ/1/

+0

我知道部份效果的解決方案,我不能這樣做,因爲我更繩拉箱,但我不能給動態ID ... –

+0

@MirkoSimic在哪裏我的解決方案中使用「動態ID」?給他們所有的普通班級,並且像我擁有它的目標 – Ian

+0

我現在已經明白了,但我forgott說,我可以關閉外部的div標籤嗎? '('。contentbox')。hide(「slow」);',但是這個關閉了所有的盒子...... –

0

使用內聯事件,這樣做:

<a onclick="$(this).hide('slow');return false;" href="#">Close</a>

你有單引號括起來this它不應該存在。

http://jsfiddle.net/znAWq/

0

試試這個;

<a onclick="$(this).hide('slow')" href="#">Close</a> 

jsFiddle

0

這是很好的做法不是在你的元素內嵌的JavaScript。嘗試添加一個鉤子到你的錨元素,就像一個類或一個ID。

文件準備:

$(function() 
{ 
    $(selector).click(function() 
    { 
     var $this = $('this'); 
     $this.hide('slow'); 
     return false; 
    }); 
});