.click()在使用jQuery时无法正常工作

时间:2013-05-29 20:46:32

标签: javascript jquery html cordova

我有一个正常的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

4 个答案:

答案 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从事件目标起泡事件   到附加处理程序的元素(即最里面的)   最外面的元素)并为其中的任何元素运行处理程序   匹配选择器的路径。

siginsubmitinput(不能包含后代元素,更不用含id="sellbookpage"的后代元素),因此选择器字符串不匹配任何内容,click事件永远不会到达{{ 1}}输入。

将其更改为:

siginsubmit

工作小提琴:http://jsfiddle.net/VG3Eg/