我想在已停用的input
上触发一个事件。我尝试了以下代码,没有发生任何事情 - 没有错误,即使只是没有发生。
$(document).on('click', '.select-row', function(e){
...
});
我该如何解决这个问题?
答案 0 :(得分:2)
您无法触发任何鼠标事件,例如点击已禁用的HTML元素。替代方案是将元素包装在span或div中并对其执行click事件。
$("div").click(function (evt) {
// do something
});
另一个替代方法是使元素readonly
而不是disabled
,但请记住,jQuery没有默认的:readonly
选择器。
答案 1 :(得分:0)
如果它适合您,您可以使用readonly
代替disabled
。然后,您可以轻松使用click事件。
答案 2 :(得分:0)
我们今天遇到了这样的问题,但是我们不想更改HTML。因此,我们使用mouseenter事件来实现这一目标
var doThingsOnClick = function() {
// your click function here
};
$(document).on({
'mouseenter': function () {
$(this).removeAttr('disabled').bind('click', doThingsOnClick);
},
'mouseleave': function () {
$(this).unbind('click', doThingsOnClick).attr('disabled', 'disabled');
},
}, '.select-row');
答案 3 :(得分:-1)
如果您需要触发,请使用trigger()
功能。
$('.select-row').trigger('click');