需要了解如何调用javascript函数

需要了解如何调用javascript函数,javascript,jquery,html,Javascript,Jquery,Html,这是代码的一部分。问题是,这一行是否“$(“#b#facetNewChild”).button()。单击(函数(){”意味着在单击按钮“facetNewChild”时应触发以下命令?因为按钮上没有“onClick”函数。另外,您能否简单解释一下,将此命令嵌套到另一个函数“newChildFacet()”中意味着什么怎么称呼它? 对不起,我是javascript新手。谢谢 function newChildFacet() { // button click

这是代码的一部分。问题是,这一行是否
“$(“#b#facetNewChild”).button()。单击(函数(){”
意味着在单击按钮“facetNewChild”时应触发以下命令?因为按钮上没有“onClick”函数。另外,您能否简单解释一下,将此命令嵌套到另一个函数“newChildFacet()”中意味着什么怎么称呼它? 对不起,我是javascript新手。谢谢

function newChildFacet()
    {
        //  button click
        $("#b_facetNewChild").button().click(function(){
                //get selected fId
            var $fId=getSfSelectedFIds();
            if($fId.length>0 && $fId.split(",").length!=1)
            {
                messageBox("Tip","Please select <b>ONE</b> as the parent facet. If no facet is selected, the new facet will be created under <b>root</b>.");
                return false;
            }

            //some more stuff here!
        });

        // newChildFacetDialog
        $("#newChildFacetDialog").dialog({
            autoOpen: false,
            modal: true,
            title: "New Child Facet",
            buttons: {
                "Cancel": function() {
                    $(this).dialog('close');
                },
                "Create": function() {
                    //get data
                    var $parentId=getSfSelectedFIds();

                    });
                    $(this).dialog('close');
                }
            }
        });

    }
函数newChildFacet() { //按钮点击 $(“#b#FaceNewChild”)。按钮()。单击(函数(){ //获取选定的fId var$fId=getSfSelectedFIds(); 如果($fId.length>0&&$fId.split(“,”).length!=1) { messageBox(“提示”,“请选择一个作为父方面。如果未选择方面,则将在根下创建新方面。”); 返回false; } //再来点东西! }); //NewChildFaceDialog $(“#NewChildFaceDialog”).dialog({ 自动打开:错误, 莫代尔:是的, 标题:“新的子方面”, 按钮:{ “取消”:函数(){ $(this.dialog('close'); }, “创建”:函数(){ //获取数据 var$parentId=getSfSelectedFIds(); }); $(this.dialog('close'); } } }); }
首先,是的,它被绑定为一个
单击事件处理程序,因此它将在单击
\b#u facetNewChild
时运行-您不会在源代码中看到它,它存储在DOM的其他位置

您可以通过调用该元素上的
click
事件处理程序来调用它,如下所示:

$("#b_facetNewChild").click();
它是否是嵌套/匿名函数并不重要,这里我们只关心该元素上的
click
事件处理程序,因此您可以通过以下任何方式触发它:

$("#b_facetNewChild").click();
$("#b_facetNewChild").trigger("click");
$("#b_facetNewChild").triggerHandler("click");
你说得对

$(“#b#FaceNewChild”).button()。单击(function(){…})
完全符合您的意思。但是,您不会在HTML中看到
onclick
处理程序,只有在检查DOM/JS元素本身时(例如,通过使用FireBug)


此调用位于函数内部这一事实意味着只有在调用包装函数后才会调用它(即,连接到按钮的回调)。

我该怎么做?我想在单击按钮时调用此函数。它已经设置好了吗?@Ahmad-如果你运行
newChildFacet()
它将钩住
单击
处理程序,然后是的,它将在单击时运行,只需确保在加载DOM后的某个时候调用
newChildFacet()
。如果这是在外部文件.js而不是页面文件中编写的,这有什么不同吗?恐怕我不确定“DOM”到底是什么?@Ahmad-jQuery有一个
文档。当页面准备好时,代码的ready
处理程序就会执行。DOM是文档对象模型,将HTML视为对象的定义,当它们被解析并加载到树中呈现时,就是DOM,例如当我们执行
$(“#b#u facetNewChild”)
它正在搜索实际运行
文档的DOM。getElementById(“b#u facetNewChild”)
…您希望确保加载了DOM,以便可以找到
id=“b#u facetNewChild”
元素。在外部JS的末尾,您只需放入
$(newChildFacet)
例如,这是一个
文档。就绪
快捷方式。