2014-09-13 453 views
0

我打算儘可能縮短我的問題。 我有被隱藏時,它是模糊的一個textarea:檢查一個按鈕是否被點擊jquery

$('textarea').on('blur', function(){ 
    $(this).hide() 
}) 

我想先檢查一下枯萎一個按鈕被點擊或不

如果點擊=>保持textarea的showen
如果不點擊= >隱藏textarea的

唯一的問題是,按鈕我要檢查是一樣的按鈕做textarea的可見

$('button').click(function(){ 
    $('textarea').show().focus() 
}) 

所以我不想textarea的閃爍每當我按一下按鈕(防止它隱藏,如果單擊該按鈕,讓它隱藏在和平,如果是其他元素模糊)
這是一個Demo
我想製作國旗,但這是一個困境

回答

3

我找到了答案,我的問題(感謝Zee的T恤爲負點)
我給學分這個post here,爲我該怎麼
一切需要的是,以檢查已被點擊該元件上的文件document.activeElement

$('textarea').on('focusout', function(){ 
$(document).mouseup(function(){ 
    if(document.activeElement.tagName!=='BUTTON'){ 
    $('textarea').hide() 
    } 
}) 

這是一個工作更新Demo
每當我這個
感謝大家對他們的努力

0

我建議你保持一個標誌,檢查它是否被點擊或沒有。你可以試試....

var isClick = false; 
$('textarea').on('blur', function(){ 
    if(isClick == false){ 
     $(this).hide() 
    } 
}) 
$('button').click(function(){ 
    isClick = true; 
    $('textarea').show().focus() 
}) 
+0

基本上當你點擊該按鈕後,點擊該按鈕textarea的不閃爍,isClicked成真的話,那麼當你從textarea的它不會模糊隱藏永遠,即使它被點擊任何其他地方 我想製作一個標誌 ,但它是一個困境 我需要一些其他語句的地方把isClicked假如果除了按鈕被點擊 – Amine 2014-09-13 16:26:30

+0

任何jsfiddle請嗎? – Amine 2014-09-13 16:43:35

+1

http://jsfiddle.net/program_test/rehstLL9/ – MH2K9 2014-09-13 16:59:45

0

檢查模糊函數返回的事件對象的相關目標是否是按鈕。

$('textarea').on('blur', function (e) { 
    if (!e.relatedTarget.tagName == 'BUTTON') { 
     $(this).hide() 
    } 
}) 


$('button').click(function() { 
    $('textarea').show().focus() 
}) 

jsFiddle

+1

它應該是http://jsfiddle.net/arunpjohny/r4zqh7af/1/ – 2014-09-13 16:10:59

+1

@ArunPJohny哎呀忘了'.tagName'謝謝 – Ohgodwhy 2014-09-13 16:15:04

+0

'!e.relatedTarget = 'button''不起作用,我嘗試了'e.relatedTarget!=='button''並且把它隱藏了textarea,但是當你點擊按鈕時仍然閃爍 – Amine 2014-09-13 16:18:06

1

我不認爲需要一個blur()呼叫,當你想要做的是有你的按鈕處理textarea的顯示/隱藏。

$("button").click(function(e){ 
    $("textarea").toggle(); 
}); 

小提琴:http://jsfiddle.net/9suamkbm/4/

+0

你的問題是矛盾的。如果你希望你的'textarea'只在點擊按鈕時才能看到,那麼爲什麼你需要'textarea'上的'blur()'?只要按鈕顯示/隱藏'textarea',因爲如果按鈕沒有被點擊,'textarea'就不存在了。 – 2014-09-13 16:25:31

+0

你的答案是矛盾的:我希望textarea保持可見,只有當按鈕被點擊=>這是正確的 toggle()不會讓它始終顯示 – Amine 2014-09-13 16:30:19

+0

你想什麼時候隱藏它? – 2014-09-13 16:32:10

相關問題