Как отключить событие onclick - PullRequest
2 голосов
/ 18 января 2011

Как отключить событие onclick?
Я пробовал onclick="this.disabled=true;", но это не работает.

Вот таблица HTML:

<table>
  <tr>
     <td onclick="parent.location='home.php'">Available</td>
     <td onclick="parent.location='home.php'">Available</td>
  </tr>
  <tr>
     <td onclick="parent.location='home.php'"><div onclick="this.disabled=true;">Booked</div></td>
     <td onclick="parent.location='home.php'">Available</td>
  </tr>
</table>

Используя приведенный выше код, он все равно отправляется на home.php, даже если я нажимаю на ячейку таблицы, помеченную как «Забронировано».

Ответы [ 3 ]

8 голосов
/ 18 января 2011

Вам нужно предотвратить всплывание события вверх ... самым простым способом:

<div onclick="event.cancelBubble = true;">Booked</div>

Успешно протестировано для IE8, Chrome и Firefox.

2 голосов
/ 18 января 2011

вы должны перезаписать onclick с помощью функции, которая возвращает false (как в: «клик уничтожен»). Так что вы бы сделали что-то вроде

 onclick="return false;"

ожидание. я имел в виду ложь :)

0 голосов
/ 18 января 2011

Лично я думаю, что вам лучше всего снять «клик» с ТД и поместить его в блок внутри него (аналогично тому, как вы его забронировали).Затем вы можете решить в своей логике PHP, ставить 'onclick' на элемент div или оставить его выключенным (тогда вам не нужно будет пытаться переопределить его).

...