我的jQuery监听器无法识别我的触发器点击

时间:2013-07-31 20:46:19

标签: jquery triggers

如果有人忘记使用C#和aspx填写表单上的字段,我试图弹出一个对话框。我的触发器在我的标题中,看起来像这样。

 function CheckSalesman() {
   alert("Alert!!!!!!!!!");
   $('#opener').trigger('click');

 }

点击隐藏按钮。该按钮具有id开启功能。我的听众是我的代码。这用于触发对话框。

 $("#opener").click(function () {
     alert("OpenDialog!");
     stopSubmit();

     $("#dialog").dialog("open");
  });

它落在这里的原因是因为它位于javascript标记的正上方,是我的对话框建立的地方。我试过在标题中有听众,但它不能在那里工作。在对话框下面是唯一可以让它工作的地方。

我试图将触发器移到侦听器下面,然后触发器函数永远不会运行。触发器函数由aspx标签调用,下面的代码插入到.text属性中。

<script>CheckSalesman()</script>

我也尝试将侦听器和触发器移动到标题,然后移动到主体,然后填充它们两者的位置。这些都没有奏效。我更改了隐藏按钮的ID,希望可以做一些事情,但再一次,没有。我确实在触发器中看到警报但在侦听器中没有。

我不明白为什么这不起作用。从我自己和我正在研究的人那里知道,这应该有效。

1 个答案:

答案 0 :(得分:0)

您发布的代码没有任何问题。问题出在其他地方。这是一个jsfiddle:http://jsfiddle.net/dsyUa/

  1. 您的标签是否设置为HtmlEncode文字?否则,你的脚本 标签将无法正确解释。
  2. 函数和钩子代码都在调用代码之上吗?如果没有,他们 尚不存在,也不可能执行。
  3. 您是否在挂钩之前在页面上包含了jQuery库 码?
  4. 您是否在$(document).ready(function(){ ... }块中包含了钩子代码?如果是这样,那么在页面出现之后才会执行 加载,并在页面加载时进行检查。
  5. 对话库是否要求页面准备就绪 叫它?尝试将标签文字更改为:

  6. <script>
    $(document).ready(function(){
      setTimeout(function(){
        CheckSalemen();
      },5000);
    });
    </script>
    

    您可以稍后调整它,但这基本上等待页面准备就绪,然后在尝试进行检查之前再等5秒。