使用jquery按钮单击时需要触发空间keydown事件

时间:2016-07-18 07:49:27

标签: javascript jquery events

单击按钮时,我需要在文本框内触发空格keydown事件,以便使用jquery在文本框内实现空格

我试过的代码

var idz, valz;
$(document).ready(function () {
    $(document).delegate('#getRuleStr', 'click', function () {
        $('#' + idz).val($('#preTag').text());
        var e = jQuery.Event("keydown");
        e.which = 32;
        $('#' + idz).trigger(e);
    });
    $(document).delegate('.rulez', 'click', function () {
        idz = this.id;
        valz = $('#' + idz).val();
    });
});

2 个答案:

答案 0 :(得分:0)

如果您想在文本框中添加空格,则可以通过

实现此目的
$('#' + idz).val( $('#' + idz).val()+" ");

但是如果你不想使用这种方法,那么用html发布你的完整代码。

答案 1 :(得分:0)

如果您需要以编程方式将字符以编程方式插入到输入元素中,您可以执行此操作

$('.rulez').on('click', function () {
  var caret = document.getElementById(idz).selectionStart;
  var txtVal = jQuery('#' + idz).val();
  var characterToAdd = " ";
  jQuery('#' + idz).val(txtVal.substring(0, caret) + characterToAdd + txtVal.substring(caret) );
});

请注意代码中的行

$('#' + idz).val($('#preTag').text());

将在$('#'+ idz)元素中重写值并将插入符号位置设置为结束,因此不需要考虑插入位置,因此无需计算任何内容,因此您只需将空格字符添加到输入元素值。