我可以触发一个按钮,用jQuery明显点击吗?

时间:2011-06-11 14:23:50

标签: jquery css

我之前提供的代码是我的解决方案。我想要做的是当用户点击ENTER键(13)时这样做,然后使表单上的输入按钮看起来被点击。这可能与JQuery有关。我是否可以让用户点击按钮并让按钮更改一小段时间?

$('#target').keypress(function(event) {
 if (event.which == '13') {
     //Do something with the enter press
 }

2 个答案:

答案 0 :(得分:3)

使用触发器方法

$('#target').keypress(function(event) {
 if (event.which == '13') {
     $(<YOUR_BUTTON_SELECTOR>).trigger('click');
 }
});

答案 1 :(得分:2)

如果通过“输入按钮”表示<input type="submit">元素或<button>元素,则表示不可以。

您需要创建自定义按钮。

然后,如果您执行自定义按钮,则取决于您在点击期间如何更改其外观。

如果您使用的是mousedown/mouseup,那么您需要触发这些事件。

$(selector).mousedown();
$(selector).mouseup();

修改

如果要设置自定义按钮的样式,或者包含<div>按钮的<input>,可以使用.css()添加颜色:

element.css('background','blue'); 
setTimeout(function(){
    element.css('background','none');
}, 1000);

setTimeout会在重置背景之前延迟1秒(1000毫秒)。

或者,您可以添加/删除一个类,这可能更好。

element.addClass('active'); 
setTimeout(function(){
    element.removeClass('active');
}, 1000);

编辑:看起来有更多的支持比我想的着色浏览器生成的UI按钮。因此,您可以使用上述相同的技术直接为按钮着色。