按钮类型输入上的点击事件不起作用
Click event on button type input is not working
我正在使用jquery和php设计网页。我的页面有侧菜单,点击其中一个选项,它会向服务器发送一个请求,从文件中读取一些信息,然后它会从中创建一个表单,带有提交和其他按钮编辑(以防有人想更改该表单中的信息),并将此html发送回客户端。我能够成功地做到这一点。但当我点击编辑按钮时,它实际上并没有调用我为所有按钮注册的点击处理程序。
$('button').click(function(){
alert("click event");
});
我把它包括在中
jQuery(document).ready(function() {
但是,因为ready()中的所有jquery/js代码都是在页面加载时执行的,所以它无法在表单中找到这些按钮,因为它是我在加载并将其替换为现有的"div"后从服务器获得的,因此它无法调用事件处理程序。如果我为这个表单的父div定义了点击处理程序,那么如果我点击"编辑"按钮,它就会收到点击事件,因为加载初始页面时"div"就存在。如果你必须在客户端对表单进行一些操作,我可能做得不对,可能从服务器上获取整个表单不是一个好主意。但这可行吗?如果是,那么可能的出路是什么?。谢谢
您的事件没有启动,因为您在页面上存在的元素之前定义了它。使用.on()方法应该可以解决这个问题。大致如下:
$('body').on('click','button', function(){
alert("click event");
});
应该起作用。
如果我正确理解您将动态按钮添加到表单中。您应该尝试使用jQuery.on()
代替,请参阅http://api.jquery.com/on/
在你的例子中,这可能适用于
$("body").on("button","click", function(event){
alert("Hello world");
});
在(jQuery 1.7及以上版本)上使用。之前是代表(1.4.2+),之前是现场。。。
$('*your_form*').on('click', 'button', function(){
alert("click event");
});
您可能只需要使用以下内容:
$(document).on('click','button',function(){
alert("click event");
});
(jQuery 1.7或更高版本)
您必须使用按钮id 进行呼叫
$('#buttonid').click(function(){
alert("click event");
});
或按钮类
$('.buttonclassname').click(function(){
alert("click event");
});
相关文章:
- JsFiddle上的鼠标事件不起作用
- 链接上的IE10 jquery句柄单击事件不起作用
- jQuery加载完成事件不起作用
- 覆盖单击事件不起作用
- 单击事件不起作用
- 为什么body元素上的onclick事件不起作用
- 追加Jquery后的Binding Click事件不起作用
- chrome中的onmouseover(下拉选项标记)事件不起作用-php,javascript
- jQuery调用keyup事件不起作用
- 选择选项淘汰赛事件不起作用
- pixijs 鼠标关闭事件不起作用(任何版本)
- D3.js鼠标事件不起作用
- D3js 饼图单击事件不起作用
- j查询动画重置后事件不起作用
- jquery 1.7追加后点击事件不起作用
- 当我将位置更改为绝对时,画布精灵表和触摸事件不起作用
- 引导程序弹出窗口(bootbox)中的Javascript事件不起作用
- 在Javascript中动态添加列时,单击事件不起作用
- 敲除数据绑定=“;html:html,内部html点击事件不起作用
- 当元素在事件绑定后附加到DOM时,触摸事件不起作用