Добавить пробел:
$('html :not(.tooltip)')
Когда вы говорите html:not(...)
, вы ищете все html
элементы, не соответствующие вашему селектору.
Добавление пробела ищет детейэлемент html
, который вам нужен.
Посмотрите, делает ли это то, что вы хотите: http://jsfiddle.net/yCx6F/2/
На самом деле, вы должны делать это:
$('.tooltip').click(function(e) {
e.stopPropagation();
});
// Once the `<div>` is created, in the same function:
$(document).one(function() {
$('.tooltip').hide();
});