珍しいことに気づきました。これは私が達成したいことです:
リンクをクリックしたときに div を表示したい
ドキュメント内の別の場所をクリックしたときに div を非表示にしたい
div 自体をクリックしても消えたくない
このようなもの:
JS:
(function() {
var box = $('#box');
$(document).on('click', function() {
if (box.css('display') == 'block') {
box.css('display', 'none');
}
});
$('#start').on('click', function(e) {
box.css({
'text': 'Box',
'position': 'absolute',
'top': '50px',
'left': '0',
'background': '#EEE',
'border': '1px solid #555',
'width': '200px',
'height': '50px',
'display': 'block'
});
e.stopPropagation();
});
box.on('click', function(e) {
e.stopPropagation();
});
})();
そのフィドルは問題なく動作しますが、Firefox (15.0.1) でテストしたところ、div を右クリックすると消えてしまいました。これは私が探している動作ではありません。Firefox では、stopPropagation() はクリックでは機能しますが、右クリックでは機能しないようです。Chrome は、右クリックがドキュメントに伝播しないようにします。
どうすれば修正できますか?
ありがとう