2013-05-20 59 views
1

見下面是我試過的。如何使用jquery創建一個彈出窗口onclick

的jQuery:

$("#type_name").click(function(){ 
      $("#add_form").fadeIn(1000); 
      $("#involved_name").val(""); 
      positionPopup('#add_form'); 
      $("#involved_name").focus(); 
     }); 

HTML:

<button type="submit" name="edit" class="forward" id="type_name"><font color="#026BE2">Type a name </font></button> 

上面的代碼不工作,不顯示在控制檯中的任何錯誤,但彈出:對HTML

<div id="add_form" style="display:none"> 
<h2>Enter involved Name<h2> 
<table><tr><td> 
<input type="text" id="involved_name" name="name" maxlength="20" /></td></tr> 
</table> 
<div style="width:180px;margin:20px 5px 0 10px" align="right"> 

      <button type="button" class="close" name="cancel" class="forward backicon"> 
       <img src="{{ STATIC_URL }}images/button-icon-ir-back.png" width="12" height="17" alt="" /> 
      Cancel</button> {% include "buttons/add.html" %} 
     </div> 
</div> 

的onclick按鈕不顯示。需要幫助。

+1

我沒有在這裏看到任何問題,在這個小提琴中工作正常。 http://jsfiddle.net/a6tLh/我的猜測是你先分配點擊監聽器然後渲染按鈕。嘗試相反的方式。 –

+0

對於我以前使用名爲[tooltipsy](http://tooltipsy.com/index)的插件的工具提示。我試了一堆tooltip插件,其中一個是最好的。大多數其他工具提示插件都有限制,但是那個允許我輕鬆做任何事情。 –

+3

試着把你的代碼放在一個'$ .ready'裏面,或許 – Alexander

回答

0

在構建DOM後,您沒有正確地綁定事件。您可能需要將代碼簡寫爲$.ready()$()

$(function() { 
    $("#type_name").click(function() { 
    $("#add_form").fadeIn(1000); 
    $("#involved_name").val(""); 
    positionPopup('#add_form'); 
    $("#involved_name").focus(); 
    }); 
}); 

或者,你可以簡單地在結束body標籤即</body>之前將您的代碼塊。

沒有其他問題似乎是值得關注的。

-2

猜測$.ready應該工作,正如@Alexander指出的那樣。 也可以嘗試$("#type_name").live('click',function(){}); 櫃面的較新版本的jQuery通過.on

更換.live這將動態綁定您的活動......無論你的DOM加載。

+0

會也試試這個。 –

+0

沒有'.live()'請建議這樣的事情之前,你應該首先確認jQuery版本正在使用評論 – Alexander

+0

我已經給出了一個建議,也提供了.on()作爲替代更新版本的jQuery的。 請確認我的回覆是否有問題。 爲了您的信息,我在給出答覆之前給了你一個投票。 – Vivek