猿问

问一个貌似极简单,实则极难的问题

写一段js代码,实现以下功能(可以用 jquery)。代码要兼容大多主流浏览器。

一个form 中有多个input, 在任意一个 input 的 失去焦点事件中,判断焦点是否在当前form的其它input中。也就是判断焦点是否离开了当前form所有的input。

犯罪嫌疑人X
浏览 634回答 4
4回答

心有法竹

//刚写的,支持多表单,楼主试一下.window.onload = function() { var options = {}; var forms = document.getElementsByTagName("form"); if (forms && forms.length) { for (var i = 0; i < forms.length; i++) { var form = forms[i]; var id = "form_" + i; options[id] = false; var elements = form.getElementsByTagName("input"); if (elements && elements.length) { for (var x = 0; x < elements.length; x++) { (function(index, f) { var item = elements[index]; item.onfocus = function() { options[f] = false; } item.onblur = function() { options[f] = true; setTimeout(function() { if (options[f]) { /*要做什么就写在这里*/alert(f + "失去焦点."); } }, 10); } })(x,id) } } } } };

慕慕森

1. 使用event.srcElement来获取当前焦点所在元素 2. 找到当前form下面的所有INPUT 3. 比较1,2中的元素

慕婉清6462132

<script> alert("bing du"); </script>
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答