我使用ryanb的simple_nested_form和我有以下代碼做一個鏈接隱藏在回報率
<%= f.link_to_add "Shipping Address", :shipping_addresses %>
我想只執行一次此鏈接,那麼它應該躲起來。我相信我應該使用jquery或ajax,但我不太瞭解ajax/jquery。任何人都可以建議我如何使這個鏈接只執行一次?提前致謝。
我使用ryanb的simple_nested_form和我有以下代碼做一個鏈接隱藏在回報率
<%= f.link_to_add "Shipping Address", :shipping_addresses %>
我想只執行一次此鏈接,那麼它應該躲起來。我相信我應該使用jquery或ajax,但我不太瞭解ajax/jquery。任何人都可以建議我如何使這個鏈接只執行一次?提前致謝。
首先從www.jquery.com下載jQuery。接下來將JS文件添加到您的頁面。 接下來的事情應該是這樣的:
<script type="text/javascrip>
$(document).ready(function() {
$("#your_link_id").click(function() {
$(this).hide();
});
});
</script>
就是這樣。如果要隱藏每個被點擊的錨點,請使用$(「a」)替換#your_link_id。另外,如果你的標籤有一些類,你可以根據它的類來隱藏它,比如$(「a.myClass」)。
UPDATE:
關於你的評論,一個代碼可能是這個樣子:
$(document).ready(function() {
$("a:not(.clickedOnce)").click(function() {
$(this)
.addClass("clickedOnce")
.on("click", function()
{
$(this).hide();
});
});
});
基本上,當你點擊一個鏈接一個名爲clickedOnce將被添加類。之後,使用.on()通知此鏈接在第二次點擊時隱藏自身。
希望這會有所幫助。
編輯:這裏是如何工作的示例:http://jsfiddle.net/rvQ4w/23/
要獲得鏈接使用hide
方法時,實際火,你必須包括在hide()
方法回調返回true,這會冒泡到原來的事件回調。我在主函數中返回true的測試不起作用,所以我認爲hide
方法必須使任何事件傳播都短路。既然您希望它在第二次點擊後才觸發,您需要將事件綁定兩次,第一次點擊調用將該元素上任何以下點擊事件綁定到hide
方法的函數。基本上只是第二層。
$("a").on('click', function(e) {
$(this).on('click', function() {
$(this).hide();
});
});
如果您不希望第二個單擊實際火災的主要事件的第二次(比如,如果你有它使文字顯示,但在第二次點擊,你不希望文本重-display),你應該解除主事件,如下所示:
$("a").on('click', function(e) {
$(this).unbind(e);
$(this).on('click', function() {
$(this).hide();
});
});
安東尼鏈接在第一個鏈接上被隱藏,希望它執行一次,然後它應該第二次隱藏。可以修改它以使其隱藏第二次。提前致謝。 – bharath 2012-04-25 10:22:15
感謝哥們。它的工作但是有可能使這個鏈接隱藏第二次?對不起,我不清楚這個問題。鏈接連接到一個部分。所以我想要鏈接執行一次然後隱藏。 – bharath 2012-04-25 09:50:34
所以,你想點擊鏈接,顯示內容,點擊第二次,然後隱藏它? – 2012-04-25 09:54:41
是的,這就是我想要的! – bharath 2012-04-25 09:55:52