Javascript 在用户交互之前提供不同的JS行为

Javascript 在用户交互之前提供不同的JS行为,javascript,jquery,asp.net-mvc-3,Javascript,Jquery,Asp.net Mvc 3,我的ASP.NET MVC 3站点在我的输入字段周围使用脚本生成html和html,以提供级联下拉功能 例如,在我的html中,我有这样一个脚本调用: $ae.ajaxDropdown( $ae在单独的.js文件中定义。我的问题是我需要一些jQueryparent.changesubscriptions在用户真正开始与页面交互之前不起作用,并通过这样做在html元素上调用jQuery例程 如果我们可以在客户机上使用C#,我只会使用bool isbefore interaction变量,在jav

我的ASP.NET MVC 3站点在我的输入字段周围使用脚本生成html和html,以提供级联下拉功能

例如,在我的html中,我有这样一个脚本调用:

$ae.ajaxDropdown(
$ae
在单独的.js文件中定义。我的问题是我需要一些jQuery
parent.change
subscriptions在用户真正开始与页面交互之前不起作用,并通过这样做在html元素上调用jQuery例程

如果我们可以在客户机上使用C#,我只会使用
bool isbefore interaction
变量,在javascript解析和执行之前,我会将该变量设置为
true
,在用户实际开始元素操作时,我会将其设置为
false
。然后,我的jquery.change订阅就可以工作了


是否有类似的方法基于“页面范围”布尔变量过滤js代码(在单独的.js文件中)

您可以按如下方式处理按键按下事件:

var isBeforeInteraction = true;
$(document).bind('keydown',
  function(evt) {
    if (isBeforeInteraction) {
      alert ('First User Interaction');
      isBeforeInteraction = false;
    }
  }
);  

你能不能像你说的那样,在与之交互的东西上设置一个实时事件,然后调用代码来启用其余的代码,方法是将一个全局变量设置为true,并且你的代码只有在值ISI think
bind()
从jQ 1.7+开始为
on()
@ron而预先确定的情况下才能运行,谢谢,我几乎让它工作了,但是,当以页面为焦点按下键盘按钮时,似乎会触发“向下键”。我怎样才能同时订阅键盘和鼠标交互?我继续订阅了“keydown”和“mousedown”事件。然后取消订阅。