为什么我不能触发jquery函数?

时间:2012-03-19 16:10:04

标签: javascript

这是一个关闭点击的按钮,但它失败了,无法正常工作。我想知道什么是选项卡ID,因为我不认为我在创建选项卡时指定了一个。

谢谢。

这是我的尝试

JS

$("#closeTab").click(function() {
window.parent.$('#tt').tabs('close','Create List');
});

HTML

<input type="button" id="closeTab" value="Cancel" class="submit"/> 

我发现我的js代码正常工作但按钮无法触发它?为什么?谢谢

最新尝试:

    <script>
$(document).ready(function(){   
$("#addlist").validate();
}); 


$(function(){
  $("#closeTab").click(function() {
    window.parent.$('#tt').tabs('close','Create List');
  });
});

</script>

它仍然不起作用所以我认为这是因为上层功能?如何解决这个问题?

=============================================== ================================= 另外,有没有办法在使用这个jquery函数时清除我的会话(例如我应该添加什么)?**谢谢

4 个答案:

答案 0 :(得分:1)

使用javascript,您必须延迟某些功能(如事件处理程序)的执行,直到页面完全加载。否则,它正在尝试将函数绑定到尚不存在的元素。使用jQuery,您可以将函数传递给jQuery,以便在页面加载时非常容易地执行:

$(function(){ /* code goes here */ });

所以要在你的代码中使用它,你会这样做:

$(function(){
  $("#closeTab").click(function() {
    window.parent.$('#tt').tabs('close','Create List');
  });
});

这样,当jQuery尝试将函数绑定到#closeTab时,它会在页面加载后(以及#closeTab存在之后)发生。

答案 1 :(得分:1)

控制台中有任何错误吗?

在点击绑定之前是否包含jQuery?

尝试将window.parent....更改为alert('clicked!');,并确保实际到达那里。

另外,请确保点击装订位于:

$(document).ready(function(){

// here

});

答案 2 :(得分:0)

脚本只能关闭它创建的窗口。它无法关闭它没有创建的标签。

要改写,只有当除非,但是在通过与关闭窗口相同的脚本创建制表符时,才能关闭制表符。

我希望这是有道理的。

答案 3 :(得分:0)

也许表单已提交,浏览器会在代码运行之前导航到另一个URL?尝试将function()替换为function(e)并将e.preventDefault();添加到事件处理程序的开头。