ポップアップ div を表示する次のコードがあります。
<a href="#" id="pop1" rel="div#tt1">Click to show popup</a>
<div class="popupBlock" id="tt1">My popup content ...</div>
div は最初は非表示になっており、少しの jQuery コードを使用して、pop1 アンカーがクリックされたときに表示されるようにしています。これは私がこのために作ったプラグインです:
(function($) {
$.fn.pop = function(options) {
var defaults = {
show: "click",
tooltip: null
};
var options = $.extend(defaults, options);
var target = $(this);
var popup = $(target.attr("rel"));
popup.css("visibility", "hidden").css("display", "none");
target.click(function() {
popup.css("visibility", "visible").css("display", "block");
return false;
});
$('body').click(function() {
popup.css("visibility", "hidden").css("display", "none");
return false;
});
popup.click(function(event) {
event.stopPropagation();
});
};
すべてが順調に進んでいるように見えますが、div に次のようなコントロールを追加すると、すべてが壊れます。
<div class="popupBlock" id="tt1">My popup content ...
<span> some text here</span>
</div>
スパンはdivのクリックイベントをトリガーせず、divを非表示にしますが、これは望ましくありません。これを防ぐためにここで何をする必要があるか、誰にも分かりますか? ありがとう、V