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

时间:2012-02-13 01:34:06

标签: javascript jquery asp.net-mvc-3

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

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

$ae.ajaxDropdown(

$ae在单独的.js文件中定义。我的问题是,我需要一些jQuery parent.change订阅才能工作,直到用户实际上已经与页面进行交互并执行此操作 - 在html元素上调用jquery例程。

如果我们可以在客户端上使用C#,我只会使用bool isBeforeInteraction变量,我将在javascript解析和执行的开始时设置为true,并且将设置为当用户实际启动元素操作时false。我的jquery .change订阅将会起作用。

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

1 个答案:

答案 0 :(得分:0)

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

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