Javascript 如果一个事件监听器运行,它是否可以通过分配一个值作为一个潜在的输入被压入服务?
我试图发现的是,当函数在 事件侦听器被执行。如果可以做到这一点,那么就可以使用这个值 控制其他潜在的行动。由于没有找到这方面的确切资料,我有 我一直在试验。下面的代码不会用Chrome发出任何警报 JS控制台,它在鼠标离开时执行aler(77) 莫斯科之夜Div,但在整个claptrap的后端没有任何价值 代码块Javascript 如果一个事件监听器运行,它是否可以通过分配一个值作为一个潜在的输入被压入服务?,javascript,javascript-events,Javascript,Javascript Events,我试图发现的是,当函数在 事件侦听器被执行。如果可以做到这一点,那么就可以使用这个值 控制其他潜在的行动。由于没有找到这方面的确切资料,我有 我一直在试验。下面的代码不会用Chrome发出任何警报 JS控制台,它在鼠标离开时执行aler(77) 莫斯科之夜Div,但在整个claptrap的后端没有任何价值 代码块 function IsolateThaBUG() { var MoscowNights = document.getElementById("MoscowNights");
function IsolateThaBUG() {
var MoscowNights = document.getElementById("MoscowNights");
MoscowNights.addEventListener("mouseout", function(evt) {
var MaloMaloJavaScript = 77;
alert(MaloMaloJavaScript);
return MaloMaloJavaScript;
}, false);
var Convoluted = MoscowNights;
return Convoluted;
}
var GotAnythingYET = IsolateThaBUG();
alert('Got This NONSENSE Instead : ' + GotAnythingYET);
对,嗯。。。下一个块也不会放弃一个值。。。或者看起来是这样。如果它是可访问的,它应该显示在div中,但它的读数是未定义的,所以。。。也许没有办法一次性做到这一点
function IsolateThaBUG(){
var MoscowNights = document.getElementById('MoscowNights');
var MaloMaloJavaScript; // temp undefnd
MoscowNights.addEventListener("mouseout", function (evt) {
var MaloMaloJavaScript=77; <<<<<<<<<<<<<<<<<<<<<<< THAT,
}, false);
return MaloMaloJavaScript; >>>>>>>>>>>> is just NOT getting OUTSIDE!!
}
var GotAnythingYET = IsolateThaBUG();
function WritetestValue() {
var artfulArtificial = document.getElementById("whattheSAMHILLsigoinon");
var TitleWrite = artfulArtificial.appendChild(document.createTextNode(testValue));
return TitleWrite;
}
WritetestValue();
函数IsolateThaBUG(){
var MoscowNights=document.getElementById('MoscowNights');
var MaloMaloJavaScript;//temp undend
MoscowNights.addEventListener(“mouseout”,函数(evt){
var MaloMaloJavaScript=77;您编写的函数IsolateThaBug
返回MoscowNights
的值,该值是一个元素
我推测您希望检索MaloMaloJavascript
的值。为了实现这一点,您需要传入回调或其他变量,以便进行变异
这里有几个例子
function testMouseout() {
var element = document.getElementById('MoscowNights');
var testValue; // undefined currently.
element.addEventListener('mouseout', function(e) {
testValue = 77;
}, false);
return testValue;
}
var mouseoutTest = testMouseout();
console.log(mouseoutTest); // undefined
// perform the mouseout action. If you did, the value will be 77.
window.setTimeout(function(){
console.log(mouseoutTest) // 77
}, 5000)
如果您想等到发出警报,直到鼠标移出发生,您可以传入回调函数。这利用了JavaScript的一流函数
function testMouseout(callback) {
var element = document.getElementById('MoscowNights');
var testValue; // undefined currently.
element.addEventListener('mouseout', function(e) {
testValue = 77;
callback(testValue);
}, false);
return testValue;
}
// we pass in a function that will
// be executed when the event fires.
testMouseout(function(value) {
alert(value); // 77
});
可能是《魔兽世界》的翻版,这很难理解,非常感谢!我会尽快给你回复,只要我能把它放到我的脚本中,并发现它到底在做什么。是的,我得到了[object HtmlementDiv]或者类似的,在警报中,而正如你推断的,我要的是77。是的,基本上你只需要记住,当你处理事件时,你是异步工作的-因此你不能依赖于赋值。传递有你想要的引用的函数要容易得多。嗯,不容易,但更理智。