2012-10-19 41 views
2

我尝试绑定到输入按钮的Click事件的功能,但它似乎并不工作和方法就不叫:单击事件

<div id='back'> 


    <input type="button"/> 

    </div> 

的jQuery:

$('#back').click(clickOnBackbutton); 

       function clickOnBackbutton(){ 

       console.log('back to menu'); //function not called 

       } 

我不喜欢使用onClick事件,而是我更喜欢使用该方法。提前Thanx。

回答

5

你应该把文件准备好处理程序中的代码。还请注意,您正在选择div标记而不是输入元素。

$(document).ready(function(){ 
    $('#back input[type=button]').click(clickOnBackbutton); 
    // $('#back input[type=button]').click(function(){ 
    // or do something here 
    // }); 
}) 
1

你绑定到div而不是按钮。

给按钮一个名称或选择它作为一个孩子然后绑定点击事件。

<div id='back'> 
    <input id='backbutton' type="button"/> 
</div> 

JQuery的

$('#backbutton').click(clickOnBackbutton); 

function clickOnBackbutton(){ 
    console.log('back to menu'); //function not called 
} 
1

这应该工作:

function clickOnBackButton(){ 
    console.log("back to menu"); 
} 

$('#back').click(function(){ 
    clickOnBackButton(); 
}); 
1

你能做到这一点

$('#back').click(function(){ 
    clickOnBackButton(); 
}); 

我不认为有这样的事,作为一个输入类型= “按钮”。也许type =“submit”?

3

按钮:

<div id='back'> 
    <input type="button" id='back-button'/> 
</div> 

的jQuery:

$(document).ready(function(){ 
    $('#back-button').click(function(){ 
     console.log('Back to Menu'); 
    }); 
}) 
1

您也可以使用:

$('#back').on('click', function(){ 
    // some action 
}); 
+0

'点击'开'('点击')''没有区别' – undefined

+0

@undefined有了这个用法,你是对的。但是使用'on'与3个参数是不同的:) – Ian

1

JQuery的1.7+你应该使用上附上事件。

function clickOnBackbutton(){ 
    console.log('back to menu'); //function not called 
} 
$(document).on("click", "#back", clickOnBackbutton); 

Running example

1

如果你想div#back捕获点击按钮事件,则与最近的jQuery,你必须这样做:

$('#back').on("click", "input[type=button]", clickOnBackbutton); 

请注意,你必须把脚本标签中或者将您的代码包装在$(document).ready事件中。

+0

我把所有的jQuery代码放在一个单独的文件中,这个文件包含在我的主文件中,我应该把它放在'$(document).ready'事件中吗? – Malloc

+0

如果您的'script'标签位于正文末尾,就在''关闭标签之前,您不必使用'$(document).ready'。如果您选择将'script'标签放在'head'中,那么您必须将代码包装在文档就绪事件中,因为您的脚本在呈现页面之前执行。 –