Что я вижу в jsfiddle вы публикуемую после этого, является то, что вы привязки нажмите на элемент td
в классе variation
($('.variation').on('click', 'td', function(event){...
).
Основываясь на том, что вы написали, и комментариях, которые я оставил под вашим первоначальным сообщением, подключение к триггеру слушателя для класса .variation-value'
решит это для вас (так как в настоящее время у вас нет привязанных к нему событий).
Если вы хотели бы дополнить Вас оригинальный сценарий, вы должны либо пойти вокруг с некоторыми CSS «взломать», добавив к CSS из p
и span
в тд следующее pointer-events:none;
(потребует некоторых дополнительных IE штраф -tuning), или вы также можете добавить другие элементы в пределах td
к триггер-слушателю.
Пример кода:
CSS-бы как (с учетом нормального случая браузер):
.variation-value > p, .variation-value > div { pointer-events:none; }
Jquery будет:
$('.variation-value').on('click', function(event){ ... }
Имейте в виду, что ваш left
элемент привязан для сброса списка значений, если он виден (не обнаружено никакого триггера, установленного для элемента right
). Если вы активируете эффект кликов для всех элементов в вашем .variation-values
, вы теряете эффект сброса, связанный с левым элементом. Это то, чего вы хотите достичь? Если это так, просто перейдите к приведенному выше фрагменту CSS, и у вас будет все, что вам нужно.
Также только отметить, в вашем HTML-разметке, вы помещаете элементы в следующей иерархии:
div.variation-value
p[left]
div[right]
Вы не закрываете свой p
элемента перед добавлением в div
для правого элемента, который он становится дочерним лицом p
. Я предполагаю, что вы должны были закрыть тег p
, чтобы обеспечить функциональность по назначению.
Как вы связываете события для этого? –
Выполнение '$ ('. Variable-value'). Click (function() {alert ('clicked');});' у вас должен быть триггер события независимо от того, какой элемент вы нажимаете на весь div. Вероятно, у вас есть другой код, мешающий. – Gabor
Какой '' тег? :) – ne1410s