У меня есть элемент управления, вложенный внутри ячейки таблицы. Строка таблицы, содержащая ячейку таблицы, имеет событие onclick. Когда я нажимаю на элемент управления select, чтобы изменить значение, событие onclick строки запускается. Ive попытался использовать метод stoppropagation для события onchange, но он, похоже, не работает. Есть идеи? Ниже мой кодОтмена распространения события onchange выбранного элемента управления
xxxxxxx.Helper.DDGoto = function (o, e) {
e.stopPropagation();
var path = $(o).val();
if (path != null) {
this.Goto(path);
}
}
<tr onclick="somemethod()">
<td>some text</td>
<td>
<select onchange="xxxxxxx.Helper.DDGoto(this, event)">some options</select>
</td>
</tr>
Ваш 'xxxxxxx.Helper.DDGoto' не запускается' click', а 'change'. Таким образом, 'e.stopPropagation();' inside никогда не выполняется! – cFreed
Добавьте '$ ('select'). On ('click', function (e) {e.stopPropagation();})' и он работает –
Это потому, что onchange и click не являются тем же типом событий? –