[英]why is find('input:focus') not working in safari
我在所有浏览器中都可以使用以下脚本,但在Safari中不能使用以下脚本,有人知道这种行为的原因是什么?
$(function() { $('form').on('submit', function(e) { e.preventDefault(); // alert($(this).serialize()); alert($(this).find('input:focus').attr('name')); }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form action="./index.php" method="post" accept-charset="utf-8"> <input type="hidden" name="foo" value="bar"> <input type="submit" name="foo[bar]" value="Senden"> </form>
如果使用Tab键导航到输入,然后按Enter,则它在Safari中确实有效。
在该浏览器中单击“提交”按钮似乎会在触发提交事件之前放弃焦点。
如果要确定单击了哪个提交按钮,请使用click事件处理程序。
$(function() { var $last_clicked_submit = null; $('form').on('click', ":submit", function(e) { $last_clicked_submit = $(this); }); $('form').on('submit', function(e) { e.preventDefault(); // alert($(this).serialize()); alert($last_clicked_submit.attr('name')); }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form action="./index.php" method="post" accept-charset="utf-8"> <input type="hidden" name="foo" value="bar"> <input type="submit" name="foo[bar]" value="Senden"> </form>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.