2014-09-29 2 views
7

Я хочу сделать элемент прозрачным для событий. Если я нажму на него, элемент сразу за ним уволит это событие.Можно ли сделать элемент (div) прозрачным для событий мыши?

+0

что вы имеете в виду, говоря, 'элемент позади, чтобы .. как Оно деталь A.' является то, что элемент помещен за ним? –

ответ

9

Используйте свойство pointer-events CSS:

myElement { 
    pointer-events: none; 
} 

Do банкнота браузер Compatibil : http://caniuse.com/#feat=pointer-events

+0

будет работать в IE? – ghufranne

+0

@ user1598937 Только в последней версии IE –

+0

Существует полиполк для более старого IE: https://github.com/kmewhort/pointer_events_polyfill –

2

Да. Установите pointer-events:none; на элемент выше.

Вот простой пример: Когда я нажимаю на изображение открывается выберите элемент:

div { 
 
    width: 14px; 
 
    height: 14px; 
 
    position:relative; 
 
    top: -18px; 
 
    left: 58px; 
 
    pointer-events: none; 
 
    background: url(http://lorempixel.com/14/14) no-repeat; 
 
}
<select> 
 
    <option value="value1">Value 1</option> 
 
    <option value="value2" selected>Value 2</option> 
 
</select> 
 
<div></div>

Поддержка браузера хорошо (caniuse): для IE, кроме - где она поддерживается только в IE11

1

Или если вы хотите сделать это jQuery-Way (потому что логика должна быть вне CSS), вы можете использовать $("#foo").unbind("click");.

Вы можете найти более подробную информацию здесь:

http://api.jquery.com/unbind/

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