2010-10-13 3 views
0

Я пытаюсь создать окно комментария, похожее на facebook, где текстовая область расширяется, и кнопка комментария становится видимой, когда нажимается текстовая область, и когда текстовая область теряет фокус, кнопка комментария скрыта, и текстовая область сжимается до меньшей высоты. Следующие js работают нормально, но проблема в том, что когда я нажимаю кнопку «comment_submit», она не отправляется, а все вещи просто скрываются.facebook style comment bar

Как не пропускать событие «размытия», если нажата кнопка отправки? но пусть это срабатывает иначе?

$("#comment_body").focus(function() { 
     $("#comment_tools").show(); 
     $("#comment_body").css("height", "100px") 
     }).blur(function() { 
     $("#comment_tools").hide(); 
     $("#comment_body").css("height", "25px") 
     }); 

UPDATE

хорошо это приводит комментарий бутон появляться, а затем исчезнут. Думаю, щелчок по текстовой области также считается щелчком по документу? Во всяком случае, конечным результатом является то, что при нажатии на текстовую область ничего не появляется, но когда она становится фокусом, вставляя ее в нее, появляется кнопка комментария.

Как исключить область текста из события document.click? или есть лучший способ сделать это?

$("#comment_body").focus(function() { 
     $("#comment_tools").show(); 
     $("#comment_body").css("height", "100px") 
     }); 
     $(document).click(function() { 
     $("#comment_tools").hide(); 
     $("#comment_body").css("height", "25px") 
     }); 

ответ

0

Попробуйте привязать к событию document.click, а не размыть. Facebook не делает это размытия, так как вы можете перейти к кнопке «Поделиться».

Его единственный, когда вы нажимаете на пробелы, которые обрывает область комментариев.