0

单击 HTML 文件中的按钮时,我需要在 jQuery 中调用一个方法。但我无法调用该方法。请帮助我解决这个问题。请让我知道我的代码有什么问题。

我的 html 文件是


<!DOCTYPE html >
<html>
    <head>
        <title>Similar Entity Search-DFS</title>
        <script type="text/javascript" src="http://code.jquery.com/jquery   -1.10.0.min.js" ></script>
        <script type="text/javascript" src="newJs.js" ></script>
    </head>
    <body>


        <div class ="filter" id="search-panel">
            <div class="search" id="search-box">
                                 <label>Enter Entity tuple</label>
                <button type="button"  class="btn-primary" id="search-button" >Search</button>
            </div>

        </div>


    </body>
 </html>

此 html 文件调用具有 jQuery 的 javascript 文件 newJs.js

这是我的 javascript 文件

 $(function(){

                page.init();

        });

        var page = {
            addEvent:function(){
                alert("here");
                   page.controls.searchButton.click(page.handlers.onSearchButtonClick);

            },

            handlers:{

                onSearchButtonClick: function(){

                alert("hi");
            },
            controls:{
            }

        },
    init: function(){

        page.controls.searchBox = $('#search-box');
        page.controls.searchPanel = $('#search-panel');     
        page.controls.searchButton = $('#search-button');
        page.addEvent();
    }
}

我无法打印搜索按钮方法中存在的警报消息。请让我知道我应该在这些代码中进行的更正。

非常感谢。

4

3 回答 3

0

您应该放置正确的链接到 jquery 库,然后它只是准备好文档操作并单击按钮操作

$(function (){
  $("#search-button").click(function (){
    alert("clicked"); return false;
  })
});

如果可以如此轻松地编码,则无需编写如此复杂的代码。

于 2013-06-16T20:24:47.997 回答
0

addEvent不是 jQuery 方法:它是一种不同的事件处理方法。如果您使用的是 jQuery,请使用类似

$('#search-button').on('click', function() {
   // Do your searching stuff here
   alert("Searching!")});

或者,您可以在此处获取“addEvent”实现

于 2013-06-16T20:28:33.370 回答
0

库 url 格式错误,应该是:http ://code.jquery.com/jquery-1.10.0.min.js

这就是为什么第一个错误$未定义的原因。

您可以在此 DEMO 中看到更正后的版本:http: //jsbin.com/odozey/1/edit

此外,在您的示例controls中是 的孩子handlers,因此该init功能也失败了,因为它正在查找page.controls

所以在上面的演示中,我将它修改为page. 如您所见,它有效。

于 2013-06-16T20:32:32.190 回答