Я хочу иметь возможность отключить функцию щелчка переключателя, чтобы я мог снять его.
Однако, когда я снимаю флажок, щелчок все еще срабатывает, и конечным результатом является радио, которое отменяет выбор (и соответственно изменяет другие элементы страницы), а затем повторно проверяет из-за события onclick.
var clickFunction = function(e, radio, p){
var checked = radio.get("checked");
radio.set("checked", !checked);
};
this.controlNode = Y.Node.create("<input id='" + id + "' onclick='function(e){return false;}' type='radio' name='" + parent.id + "'>");
this.label = Y.Node.create("<label for='" + id + "'>" + display + "</label>");
Y.on("mousedown", clickFunction, this.label, this.controlNode, parent.controlNode);
parent.controlNode.appendChild(this.controlNode);
parent.controlNode.appendChild(this.label);
Используется обработчик события mousedown, так как он предназначен для жирных пальцев на сенсорном экране (windows), а перемещение между mousedown и mouseup не является щелчком. (При касании пальцем палец будет увеличивать и уменьшать площадь своей поверхности на экране, а на экране без мультитач курсор будет наведен на среднее значение точек контакта. Небольшой поворот приведет к перемещению курсора).
Мышь вниз всплывает, что приводит к оценке зависимости и отображению / скрытию других элементов управления на странице.
Я просто хочу отменить; и я думаю, что наличие другого варианта сброса менее чем удовлетворительно для моего конкретного использования. Если здесь не произойдет ничего другого, мне придется это использовать.