在javascript for html文件中触发具有可接受延迟的事件
triggering an event with edible delay in javascript for html file
我必须延迟触发一个事件。处理程序为正在读取的任何段落添加一个边框。用户可以更改延迟。当我添加超时时,边界永远不会显示,而如果没有超时,它会显示。如何延迟触发事件?
window.onload = function() {
init();
}
function init() {
for (var i = document.getElementsByTagName("P").length - 1; i >= 0; i--) {
document.getElementsByTagName("P")[i].addEventListener("mouseover", setTimeout(re, document.getElementById("input").innerHTML));
document.getElementsByTagName("P")[i].addEventListener("mouseout", rl);
};
}
function re(e) {
var id=e.target.id;
document.getElementById(id).style.border = "thick solid blue";
}
function rl(e) {
var id=e.target.id;
document.getElementById(id).style.border = "none";
}
我认为根据setTimeout()方法,第二个参数应该是The number of milliseconds to wait before executing the code
。但在您的代码中似乎缺少。
尝试更改此行:
document.getElementsByTagName("P")[i].addEventListener("mouseover", setTimeout(re, document.getElementById("input").innerHTML));
类似于以下内容:
document.getElementsByTagName("P")[i].addEventListener("mouseover", setTimeout(re, 1000, document.getElementById("input").innerHTML));
希望这能解决问题!
尝试:-
document.getElementsByTagName("P")[i].addEventListener("mouseover", function(){
var delay = document.getElementById("input").innerHTML;
setTimeout(re, parseInt(delay));
});
setTimeout
是在添加侦听器时调用的,而不是在调用事件时调用的。
如果要获得文本框输入,必须使用id.value而不是id.innerHTML更改您的代码如下:
window.onload = function() {
init();
}
function init() {
for (var i = document.getElementsByTagName("P").length - 1; i >= 0; i--) {
document.getElementsByTagName("P")[i].addEventListener("mouseover", setTimeout(re(this), document.getElementById("input").value));
document.getElementsByTagName("P")[i].addEventListener("mouseout", rl(this));
};
}
function re(e) {
e.style.border = "thick solid blue";
}
function rl(e) {
e.style.border = "none";
}
相关文章:
- 使用while循环+break是一种可接受的方式;goto;手术的结束
- javascript外部链接文件的可接受数量是多少
- 如何在Django表单中设置可接受的文件类型'的FileInput小部件
- 动画的可接受帧速率有多高
- 当在JSON中使用包含对象的对象与对象数组时,可接受的约定是什么
- 在AngularJS中,一次进行两次调用是一种可接受的方法
- 是否有可接受的跨平台方法在基于触摸的设备上以标准 Web 表单显示数字键盘
- Javascript:从给定的两个片段中引用“this”的可接受方式
- 为什么“{foo:function myName(){}}”语法是可接受的
- 限制Sailsjs中可接受的模型属性
- Javascript可视化:svg地图的可接受大小
- Array.from(arguments)是创建参数数组的一种可接受的方法
- 在javascript for html文件中触发具有可接受延迟的事件
- 如何设置角度管线参数的可接受值
- 在HTML中使用右键单击上下文菜单是否安全或可接受
- Is e = event || window.event;可接受的IE8兼容性
- 将属性附加到函数对象是否安全/可接受?
- 是否有一种可接受的方法可以从函数/方法中省略参数
- 如何从控制器发送可接受格式的数据到Highstock
- “可接受”的最低限度是多少?间隔循环中本地存储的延迟(用于“自动保存”)