我有一个正常的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
答案 0 :(得分:1)
pageinit
事件仅在您使用jQuery Mobile时可用。你还在用吗?否则,您应该使用$(document).ready( ... )
。
答案 1 :(得分:1)
我的问题的获胜答案与上述任何上述帖子无关!造成这个问题的原因是我使用的是jQuery mobile,jQuery和Twitter Bootstrap。一旦我注释掉了bootstrap css的链接,一切都开始像以前那样工作了。因此,Twitters Bootstrap与jQuery或jQuery Mobile之间必然存在冲突。
答案 2 :(得分:0)
您是否尝试过使用 live()
$("#sellbookpage").live('pageinit', function() {
$("#siginsubmit").click(function(){
alert("hello");
});
});
答案 3 :(得分:0)
来自http://api.jquery.com/on/#on-events-selector-data-handlereventObject:
提供选择器时,事件处理程序称为 授权。直接在事件发生时不会调用处理程序 绑定元素,但仅适用于后代(内部元素) 匹配选择器。 jQuery从事件目标起泡事件 到附加处理程序的元素(即最里面的) 最外面的元素)并为其中的任何元素运行处理程序 匹配选择器的路径。
siginsubmit
是input
(不能包含后代元素,更不用含id="sellbookpage"
的后代元素),因此选择器字符串不匹配任何内容,click事件永远不会到达{{ 1}}输入。
将其更改为:
siginsubmit