2016-02-23 3 views
0

я следующий HTML структуреПочему событие щелчка элемента родительского элемента автоматически срабатывает при щелчке/фокусе текстового окна дочернего элемента в Safari?

[Checkbox] [Text] [Input element (Show if check-box is checked)] 

<span class='spGrpContainer'> 
    <label id='stepGH_Group1' class='lblStep GHSteps lblGroupheader' stepid='1' stepname='Group1' childcontainer='ulGH_grp1Steps'> 
    <label><input type='checkbox' onchange="Javascript:HideUnHideSubItems();" /><span class='sptext spGHStepName'>Check Me</span></label> 
    <label class='lblRanking' style='display: none;'><input id='rnkbox_Scr' class='txtImportance' type='number' min='0' max='100' step='1' value='' /></label> 
    </label> 
</span> 

Когда элемент ввода нажмите, флажок автоматически скрывать в Safari browser. Во всех других крупных браузерах, таких как Chrome, IE, Firefox, он работает хорошо. Check Fiddle

Я также пробовал event.stopPropagation() для разрешения события пузыря, но его не помогло. Check Fiddle

Есть ли способ решить эту проблему?

+0

Может быть, вам нужно 'event.stopPropagation()' – Tushar

+0

@Tushar: Я попытался с ") event.stopPropagation (" метод, но это did't работа для меня. Check Fiddle: https://jsfiddle.net/wgnecsfo/16/ –

ответ

2

Нажмите это событие, которое пузырится вверх. Возможно, вы захотите взглянуть на документацию JavaScript от MDN о пузырьках событий. http://javascript.info/tutorial/bubbling-and-capturing

event.stopPropagation() должно помешать ему произойти. Stop propagation documentation

+0

Да, я пробовал использовать метод event.stopPropagation(), но для меня это не работало. Check Fiddle: https://jsfiddle.net/wgnecsfo/16/ –

+0

Думаю, я здесь неправ. Потому что «event.stopPropagation()» работает, когда мы предупреждаем somthing. Проверьте скрипт: https://jsfiddle.net/wgnecsfo/17/. Не могли бы вы помочь или предложить работать без предупреждения? –

Смежные вопросы