Używam prostego modalu do tworzenia wyskakującego okienka, próbuję dodać przycisk, który zamknie wyskakujące okienko, ale nic się nie stało, gdy go kliknę.
- dołączona biblioteka js przykładowego modelu
poniżej znajduje się kod jQuery
jQuery("a.postpopup").click(function(){
id = jQuery(this).attr("rel");
url="http://localhost/website/?page_id=81";
jQuery("<div id="ajax-popup"></div>").hide().appendTo("body").load(url+"&id="+id).modal();
return false;
});
//btn to close the popup
jQuery("#btnclose").click(function(){
alert("hello"); // close code should be placed here but alert didn"t executed.
});
poniżej znajduje się kod na mojej stronie szablonu (popup)
<?php
/*
Template Name: my template
*/
?>
<?php
$post = get_post($_GET["id"]);
?>
<?php if ($post) : ?>
<?php setup_postdata($post); ?>
<div class="whatever">
<div id="popheader">
<img id="popimg" src="/images/http://localhost/website/wp-content/uploads/2014/12/logo1.png" width="200" height="auto"/>
<font id="popup-title" class="entry-title" > <?php the_title()?> </font>
<input type="button" id="btnclose" /> //btn to close the pop
</div>
<table class="tblcontent">
<tr>
<td id="popup-content">
<?php the_content(); ?>
</td>
</tr>
</table>
</div>
<?php endif; ?>
Jak więc zamknąć to okno
Odpowiedzi:
0 dla odpowiedzi № 1Bo #btnclose
jeszcze nie istnieje. Podczas ładowania zawartości ajax należy powiązać zdarzenia, tylko po załadowaniu treści.
jQuery("a.postpopup").click(function(){
id = jQuery(this).attr("rel");
url="http://localhost/website/?page_id=81";
jQuery("<div id="ajax-popup"></div>")
.hide()
.appendTo("body")
.load(url+"&id="+id, function(data){
jQuery(data).find("#btnclose").click(function(e){
alert("Button clicked");
});
})
.modal();
return false;
});
Lub zmodyfikuj swój szablon i dołącz funkcję do kliknięcia przycisku:
<input type="button" id="btnclose" onclick="doSomething()" /> //btn to close the pop
function doSomenthing() {
alert("Button Clicked");
}