无法从jQuery中识别函数

无法从jQuery中识别函数,jquery,Jquery,我有一个.js文件,其中包含以下函数: function showDialog(divID) { alert("got here"); var dialogDiv = $(divID); dialogDiv.dialog ( { bgiframe: true, modal: true, autoOpen: false, show: 'blind'

我有一个.js文件,其中包含以下函数:

function showDialog(divID) 
{
    alert("got here");

    var dialogDiv = $(divID);

    dialogDiv.dialog
    (
        {
            bgiframe: true,
            modal: true,
            autoOpen: false,
            show: 'blind'
        }
    )

    dialogDiv.dialog("open");
}
在我的页面中:

<script type="text/javascript">

    $(function()
    {
        $("input.invokeDialog").click.showDialog("#testDialog");
    });

</script>

$(函数()
{
$(“input.invokeDialog”)。单击.showDialog(“#testDialog”);
});
我试图弄明白为什么它不能识别我的showDialog函数。不可能像我这样用圆点来引用它吗?我需要jQuery特定的函数或语法才能知道它是一个jQuery函数,还是没有这样的功能?

试试以下方法:

  $(function()
    {
        $("input.invokeDialog").click(function(){
           showDialog("#testDialog");
        });
    });

click.showDialog(“#testDialog”)
的问题在于,这意味着您试图调用名为
showDialog
的函数,该函数是
click
对象的一部分。您已经将
showDialog
函数定义为自由浮动函数,因此不需要在函数前面添加任何内容来调用它

Sarfraz答案中的代码应该能很好地满足您的要求。


<script type="text/javascript">

    $(function()
    {
        showDialog("#testDialog");
    });

</script>
$(函数() { showDialog(“测试对话框”); });

这是怎么回事?

那么你建议如何在Sarfaz建议之外调用自由浮动函数呢?这与任何DOM元素都没有关系。它永远不会被调用。是的,我想把它挂接到文档onload上。。。在读了一些其他的评论之后,我决定你甚至都不会去尝试那个。我认为drachenstern试图缩小问题是发生在click事件的绑定中,还是发生在showDialog函数本身的调用中。在本例中,$是$(document).ready()的同义词。文档加载完成后将立即调用它。问题中的代码使用相同的语法。:)当在标记中工作时,我在ASP.NET中的Visual Studio中得到showDialog的错误“:expected”。这应该可以很好地工作。你能告诉我们什么不起作用吗?它没有显示对话框吗?你可以发布整个showDialog功能吗。它被切断了。当我单击按钮时,即使我在showDialog函数中添加了一个警报,也不会发生任何事情。如果在上面的代码中,在showDialog调用的正上方添加了一个警报,是否会显示该警报?您的输入元素中是否包含class=“invokeDialog”?