В моем случае, удобнее всего оказалось вот это:
<tr onclick=.... и т.д> <td onclick="event.stopPropagation?event.stopPropagation():event.cancelBubble=true"> Кстати, пробовал cancelBubble в разных браузерах IE 8, Firefox 13.0.1, Chromium везде срабатывало, т.е. получается что если не бояться монстров пожирающих за плохой стиль програмирования, то можно было бы обойтись и без stopPropagation. P/S: про оба эти свойства раньше не слышал, очень благодарен всем указавшим на них! |
Кстати у cyber наверное самое универсальное решение для определения наличия ссылки в родительском контейнере: element.getElementsByTagName('a').length вернёт 0, если ссылок нет
PS: Цитата:
|
Цитата:
вот так правильно if(element.getElementsByTagName('a')[0]) |
Цитата:
Проверку наверное лучше сделать на равенство 0 (или undefined в последнем случае), так как иначе каждый раз будут осуществляться лишние проверки на неравенство пустой строке, null и undefined (не принципиально, конечно, но всё же). PS: А срабатывает потому, что length коллекции всегда существует: если ссылок нет, то length равно 0 (если ссылки есть, то length > 0, поэтому проверка на неравенство 0 сработает, поэтому сработает return, а если ссылок нет, то проверка на неравенство 0 не сработает, следовательно, не сработает return, поэтому выполнится alert, так что этот способ рабочий, хотя может быть и несколько морочный для понимания). |
Цитата:
кстати да оно правильно работает if(tags.length)return; |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
это типо тс будет вешать в ручную обработчик на каждую ячейку где есть ссылка? (у меня конечно была такая мысль но она мне показалась сильно бредовой)
|
Часовой пояс GMT +3, время: 18:37. |