.click()在使用jQuery时不起作用
.click() not working when using jQuery
我有一个正常的js脚本,从我的项目开始就一直在工作。但现在由于某种原因,当我点击按钮没有任何工作,没有响应的点击事件(请注意,这曾经工作),并没有显示在控制台日志中说明是否有某种错误…脚本没有响应…
下面是HTML:
<script type="text/javascript" src="js/myscript.js"></script>
<form>
<input type="text" name="signinemail" id="signinemail" placeholder="Enter Email">
<input type="password" name="signinpassword" id="signinpassword" placeholder="Enter Password">
<input type="submit" id ="siginsubmit" name="siginsubmit" value="Sign In">
</form>
这是我的javascript:
$(document).on('pageinit',"#sellbookpage",
function()
{
$("#siginsubmit").click
(
function()
{
alert("hello");
}
);
}
);
注意我正在使用jQuery Mobile
pageinit
事件仅在使用jQuery Mobile时可用。你还在用那个吗?否则你应该使用$(document).ready( ... )
我的问题的获奖答案与上面提到的任何帖子都无关!导致问题的原因是我正在使用jQuery移动版、jQuery和Twitter Bootstrap。当我注释掉指向bootstrap css的链接时,一切都开始像以前一样工作了。因此,twitter Bootstrap与jQuery或jQuery Mobile之间必然存在冲突。
你有没有试过使用live()
$("#sellbookpage").live('pageinit', function() {
$("#siginsubmit").click(function(){
alert("hello");
});
});
From http://api.jquery.com/on/#on-events-selector-data-handlereventObject:
当提供选择器时,事件处理程序被称为委托。事件直接发生时,不会调用处理程序绑定元素,但只适用于后代(内部元素)匹配选择器。jQuery从事件目标中弹出事件到附加处理程序的元素(即最里面的元素)最外层元素),并运行该元素的处理程序路径匹配选择器。
siginsubmit
是一个input
(不能包含后代元素,更不用说后代元素与id="sellbookpage"
),所以选择器字符串不匹配任何东西,点击事件永远不会到达siginsubmit
输入。
改成:
$(document).on('pageinit', function () {
$('#siginsubmit').click(function (e) {
alert('hello');
e.preventDefault();
return false;
});
});
工作小提琴:http://jsfiddle.net/VG3Eg/
- 自动完成 jquery 不起作用
- 悬停时的Jquery不起作用
- 使用DateTimePicker插件的JQuery不起作用
- 无限滚动jquery不起作用
- 角度2触发器'单击'使用jquery不起作用
- 在 jQuery 不起作用的情况下迭代变量
- 切换下 jquery 不起作用
- 简单的jquery不起作用,并返回错误
- 等效于getElementbyName的jQuery不起作用
- Jquery不起作用,但我想一切都好
- 当按钮从ajax调用时,jquery不起作用
- 在jQuery不起作用的情况下阻止表单提交
- 为什么这个jquery不起作用
- 带有变量选择器的 Jquery 不起作用
- 简单的JavaScript/jQuery不起作用
- Wordpress jquery不起作用(计算系统)
- Django 模板内联 jQuery 不起作用
- 提示计算器 jquery 不起作用
- 追加 jquery 不起作用
- 正则表达式 jQuery 不起作用