#reactjs
#reactjs
Вопрос:
У меня есть button
компонент React, который не запускает onClick
событие при нажатии. Я добавил :active
CSS-селектор, чтобы убедиться, что он включен и доступен для просмотра. странно то, что onChange
обработчик на input
рядом с ним работает нормально. Есть мысли?
return (
<ul className="horizontal">
<li className="adjustInput">
<label>
<input max={200} min={10} onChange={e => actions.onAdjustSize(e.target.value)} type="range" value={size} />
Image Size: {size}%
</label>
</li>
<li className="adjustInput">
<label>
<input max={OPACITY_MULTIPLIER} min={OPACITY_MULTIPLIER / 10} onChange={e => {actions.onAdjustOpacity(e.target.value / OPACITY_MULTIPLIER)}} type="range" value={opacity} />
Opacity: {opacity}%
</label>
</li>
<li className="adjustInput">
<label>
{/* This onChange is fired when I type in the input */}
<input onChange={actions.onRemove} type="text" />
{/* This onClick isn't fired no matter what I try */}
<button onClick={actions.onRemove}>Remove</button>
</label>
</li>
</ul>
);
Изображение пользовательского интерфейса, отображаемое кодом выше
Я, очевидно, пытался щелкнуть по кнопке с помощью мыши. Я также пробовал переходить к нему с табуляцией и нажимать пробел и ввод. Запуск щелчка вручную в JS. Кажется, ничего не работает :/
Комментарии:
1. Вам действительно нужно поместить кнопку в тот же элемент label, что и input?
2. Можете ли вы щелкнуть правой кнопкой мыши и проверить
button
и посмотреть, какие атрибуты у него есть в браузере (например, Chrome)?3. этот компонент отображается в выпадающем списке. Я просто попытался удалить его из выпадающего списка, и тогда это сработало
4. @raina77ow — Я просто сделал это для тестирования. кнопка может находиться в любом месте компонента.
5. Видите ли, метка обычно связана с одним элементом управления формой, так что щелчок по метке активирует соответствующий ввод. В вашем случае это может привести к путанице.