Проигнорируйте взаимодействие мыши на изображении наложения

Лучшая вещь сделать, ничего не принимают, если Вы можете. Когда оператор вводит в Вашем имени приложения для выполнения и не имеет никаких параметров, или хит их с блоком ИСПОЛЬЗОВАНИЯ или в альтернативе открывает Windows Form и позволяет им вводить все, в чем Вы нуждаетесь.

c:\>FOO

FOO

USAGE FOO -{Option}{Value}

-A Do A stuff
-B Do B stuff

c:\>

разграничивание Параметра я помещаю в соответствии с заголовком религиозной темы: дефисы (тире), удваивают дефисы, наклонные черты, ничто, позиционное, и т.д.

Вы не указали на свою платформу, но для следующего комментария я приму Windows и .net

, можно создать основанное на консоли приложение в .net и позволить ему взаимодействовать с Настольными Формами использования только путем выбора основанного на консоли проекта, тогда добавляющего Windows. Формы, Система. Рисование, и т.д. DLLs.

Мы делаем это все время. Это гарантирует, что никто не принимает оборот вниз темный переулок.

86
задан Daniel 10 November 2009 в 11:32
поделиться

4 ответа

Задайте для кнопки свойство z-index выше, чем у нарисованного от руки изображения:

<img src="hand_drawn_image.gif" style="z-index: 4">
<a href="#" style="z-index: 5"></a>

, однако, убедитесь, что вы протестировали его во всех основных браузерах. IE интерпретирует z-index иначе, чем FF. Чтобы кто-то мог сообщить больше подробностей, вам нужно опубликовать дополнительную информацию, лучше всего будет ссылка.

1
ответ дан 24 November 2019 в 07:58
поделиться

. Я сделал это, и он работает в Firefox 3.5 в Windows XP. Он показывает поле с текстом, наложенным изображением и прозрачным блоком div сверху, который перехватывает все щелчки.

<div id="menuOption" style="border:1px solid black;position:relative;width:100px;height:40px;">
sometext goes here.
<!-- Place image inside of you menu bar link -->
<img id="imgOverlay" src="w3.png" style="z-index:4;position:absolute;top:0px;left:0px;width:100px;height:40px;" \>
<!-- Your link here -->
<a href="javascript:alert('Hello!')" >
<div id="mylinkAction" style="z-index:5;position:absolute;top:0px;left:0px;width:100px;height:40px;">
</div>
</a>
</div>

Что я сделал: Я создал div и установил его размер, соответствующий параметрам меню, 100x40px (произвольное значение, но оно помогает проиллюстрировать образец).

Div имеет оверлей изображения и оверлей ссылки. Ссылка содержит div, размер которого должен быть таким же, как div 'menuOption'. Таким образом, щелчок пользователя фиксируется по всему полю.

Вам нужно будет предоставить собственное изображение при тестировании. :)

Предупреждение: Если вы ожидаете, что ваша кнопка меню будет реагировать на взаимодействие с пользователем (например, изменение цвета для имитации кнопки), тогда вам понадобится дополнительный код, прикрепленный к javascript, который вы вызовете в теге, этот дополнительный код может адресовать 'menuOption' элемент через DOM и изменить его цвет.

Кроме того, я не знаю другого способа взять событие щелчка и зарегистрировать его на элементе под видимым элементом страницы. Этим летом я тоже пробовал это, и не нашел другого решения, кроме этого.

Надеюсь, это поможет.

PS: Описание событий в quirksmode во многом помогло мне понять, как события ведут себя в браузерах.

2
ответ дан 24 November 2019 в 07:58
поделиться

Если изображение будет расположено статически, вы можете зафиксировать событие щелчка из изображения, когда оно всплывает, поместив тег img внутри элемента пункта меню.

<div onclick="menuclick()">
  <img src="overlay.png" style="position:absolute;" />
</div>
0
ответ дан 24 November 2019 в 07:58
поделиться

Основываясь на словах Пекки Гайзера, я думаю, что следующее будет работать. Взяв его пример и переработав его:

<a href="#" style="z-index: 5">
    <!-- Place image inside of you menu bar link -->
    <img src="hand_drawn_image.gif" style="z-index: 4">
    <!-- Your link here -->
</a>

Здесь вы должны иметь возможность разместить событие в базовом a-теге и, если ваше изображение не имеет события, инициирует захват (браузеры! IE), а затем прекращает распространение события.

Если вам нужна дополнительная помощь, сообщите нам о ситуации подробнее.

0
ответ дан 24 November 2019 в 07:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: