Javascript 如果一个事件监听器运行,它是否可以通过分配一个值作为一个潜在的输入被压入服务?

Javascript 如果一个事件监听器运行,它是否可以通过分配一个值作为一个潜在的输入被压入服务?,javascript,javascript-events,Javascript,Javascript Events,我试图发现的是,当函数在 事件侦听器被执行。如果可以做到这一点,那么就可以使用这个值 控制其他潜在的行动。由于没有找到这方面的确切资料,我有 我一直在试验。下面的代码不会用Chrome发出任何警报 JS控制台,它在鼠标离开时执行aler(77) 莫斯科之夜Div,但在整个claptrap的后端没有任何价值 代码块 function IsolateThaBUG() { var MoscowNights = document.getElementById("MoscowNights");

我试图发现的是,当函数在 事件侦听器被执行。如果可以做到这一点,那么就可以使用这个值 控制其他潜在的行动。由于没有找到这方面的确切资料,我有 我一直在试验。下面的代码不会用Chrome发出任何警报 JS控制台,它在鼠标离开时执行aler(77) 莫斯科之夜Div,但在整个claptrap的后端没有任何价值 代码块

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。是的,基本上你只需要记住,当你处理事件时,你是异步工作的-因此你不能依赖于赋值。传递有你想要的引用的函数要容易得多。嗯,不容易,但更理智。