Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 手机上的触发键(safari iphone)_Javascript_Jquery - Fatal编程技术网

Javascript 手机上的触发键(safari iphone)

Javascript 手机上的触发键(safari iphone),javascript,jquery,Javascript,Jquery,我有一个脚本,它有一个keydown事件。它在桌面上工作,但当我在safari中在iphone上测试时,它不工作。在safari中,有没有一种方法可以触发针对mobile的输入字段的按键 $('label:contains("Rock the Mall Concert")').closest('div').addClass('rockMall'); $('div.rockMall label:contains("Student")').parent().next().fi

我有一个脚本,它有一个keydown事件。它在桌面上工作,但当我在safari中在iphone上测试时,它不工作。在safari中,有没有一种方法可以触发针对mobile的输入字段的按键

        $('label:contains("Rock the Mall Concert")').closest('div').addClass('rockMall');
    $('div.rockMall label:contains("Student")').parent().next().find('input:eq(0)').keyup(function(){
       if ($(this).val() > 1){
         $(this).parent().find(".regQuant").css('display', 'block').text('Limited to 1 per person');
         $(this).val('1');
         var e = jQuery.Event("keydown");
         e.which = 13;
         e.keyCode = 13
         $(this).trigger(e);
      }
    });

任何帮助都将不胜感激。

我使用jQuery编写了这段代码。 您正在添加一个事件“keydown”,但它不适用于所有浏览器和平台,因此我使用了“change”事件,它应该可以很好地工作

如果输入更改其值,将触发事件

$('input')。在('change',function()上{
//+运算符用于将值解析为整数。
var ticket_quantity=+$(this.val();
if(票证数量<1 |票证数量>20)
{
$(此).val(1);
}
});


尝试使用touchstart事件。类似于:$(this).trigger('touchstart',e);我认为touchapi不适合你想做的事情。你愿意详细说明你的问题吗?我看到您正在手动触发事件。在某些情况下,出于安全原因,您不能仅使用JS触发事件。以下是TouchEvent文档的链接。我为输入字段中可以输入的内容设置了一个最大值。如果用户输入一个大于1的数字,例如,20,他们会看到一条消息,输入将自动更改为1。如果用户只在页面底部选择continue而不点击enter,那么总数实际上不会更新为1,他们将能够购买20张票。所以我触发了一个返回键的keydown事件,这样总数就会更新。除非我在iphone上的Safari中进行测试,否则它是有效的。他们仍然可以买1张以上的票。我做了一个片段做你想做的。看看,让我知道!