相关文章推荐
任性的菠菜  ·  使用 Git ...·  1 年前    · 
昨天修改机顶盒上面的EPG页面,遇到一个小问题。用户购买游戏时需要弹出购买确认对话框,对话框的默认焦点规定必须停留在“取消”按键上。很简单的需求,使用JavaScript的focus()方法就可以实现了。简单的代码示例如下:
      document.getElementById("cancel").focus()
但是苦逼的是,机顶盒真是一个大坑。由于要兼容所有现存的机顶盒型号,需要对8款机顶盒进行适配。然后就出现问题了!一款中兴B600的机顶盒完全没法将焦点设置到取消按键上。以下是我的解决思路:
  1. 首先确认该机顶盒是否支持getElementById()方法以及是否成功获得了ID为“cancel”的元素:测试方法很简单,直接另写了一个 <p id="test">test</p> ,然后在同样的地方获取ID为“test”的元素,并进行了简单的操作 document.getElementById("test").innerHTML="Hello"
  2. 最后使用了“try...catch(e)...”捕捉“focus()”失败的原因
    try(){
     <span style="white-space:pre">	</span>document.getElementById("cancel").focus()
    }catch(e){
    <span style="white-space:pre">	</span>alert(e.name + ": " + e.what());
    }
    但是就是很奇怪!以上两步的结果表明该机顶盒支持focus()和getElementById(),但是就是无法设置焦点到弹出的对话框中。
前前后后折腾了一个多小时,最后大BOSS出现了,就简单说了一句话就解决了这个问题!有可能要主动调用blur()将原来的焦点取消掉!
     document.getElementById("purchase").blur()
然后就解决了这个问题。不得不感概!在解决这个问题的过程中,自己的思路其实还是蛮正确的,但知识面显然不够。一般程序员和高级程序员的差距除了解决问题的思路方面,也有经验和知识面的差距!
这几天遇到两个在IE8下 focus 失效的非常奇怪的问题,当然这个是指JS函数:document.getElementBy Id (" id "). focus (); 或者 $("# id "). focus (); 问题一: 楼主的页面是在ifram中,点击ifram中的保存按钮后,会重定向到这个页面,并且在domcument.ready()中会将 焦点 给予第 一个 文本框。但奇怪的是,第一次打开这个页面是 没有 问题的...
在jsp页面中,有时候我想让 一个 控件在页面打开的时候就成为 焦点 ,要怎么做呢? 代码很简单,在标签里加这么一句: onload=" javascript :document.getElementBy Id ('mailput'). focus ();" 就OK了。这里的mailput是你的控件 id .
今天在ipad上遇到 一个 问题:jquery 调用 $( id ). focus () 方法 ,失效,不能弹出键盘获得输入的 焦点 。   开始以为是$( id ). focus () 方法 的问题,然后就试着用原声的document.getElementBy Id (' id '). focus () 方法 ,结果还是不行   想啊想,最后叫ios的同事帮忙看看,结果是ios外壳要给输入框某个权限,修改了外壳,...
后来发现是因为Vue的原因,因为Vue是先处理数据,再重绘Dom,这中间有个时间差,可以写在Vue的生命周期钩子updated(当这个钩子被调用时,组件 DOM 已经更新,所以现在可以执行依赖于 DOM 的操作)中,不过最好还是用Vue自己的 方法 来操作 遇到 一个 如下代码在某些情况下会不生效的问题 <input id ="el" type="text"> <body/>
最近在程序里写的input标签只有第一打开的时候存在 focus 之后再打开就 没有 focus 只能自己手动的操做。 所以只需要在程序中加这段话就能始终获得 焦点 了 setTimeout(function(){ $("#input_ id name"). focus (); },500) 加 一个 定时器就可以了 html内容 <a-select ref="searchSelectRef" show-search > <a-select-option v-for="(d, index) in list" :key="index" :value="d. id "> {{ d.name }} </a-select-option> </a-select&
var link = document.createElement('a'); link.href = 'image_url'; link.download = 'image_name.jpg'; link.click(); 其中,`image_url` 是图片的 URL 地址,`image_name.jpg` 是下载图片的文件名。这段代码通过创建 一个 超链接元素,并将其 `href` 属性 设置 为图片 URL 地址,`download` 属性 设置 为图片文件名,最后通过调用 `click()` 方法 来触发下载。 Failed to introspect annotated ** org.springframework.boot.web.support.SpringBootServletInitializer Restful接口规约