0

我无法让它显示作为函数参数提供的警报。我已经与示例进行了比较,但看不到导致它不起作用的问题。我在下面包含了我的 html 和 JavaScript,我将非常感激地收到任何关于我出错的帮助。谢谢

HTML:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script src="http://code.jquery.com/jquery.js"></script>
<script src="testjs.js"></script>
</head>
<body>
<div id = "testbed">
<a id = "testlink" href = "#number1">Test click</a>
</div>
</body>
</html>

JavaScript:

$(document).ready(function() {

$.fn.newmodalcontrols = function(modelspec) {
alert(modelspec);       
} // end newmodalcontrols

$('#testlink').click(function() {
    $(this).parent().newmodelcontrols('number1');
}); // end testlink click function

}); // end ready
4

3 回答 3

1

你只是有一个错字。将 newmodelcontrols 更改为 newmodalcontrols。

JavaScript

$(document).ready(function () {

    $.fn.newmodalcontrols = function (modelspec) {
        alert(modelspec);
    }

    $('#testlink').click(function () {
        $(this).parent().newmodalcontrols('number1');
    });

});

更新:添加了一个jsfiddle 示例

于 2013-05-09T18:18:58.273 回答
1

您有一个错字:newmodalcontrols并且newmodelcontrols不等效(注意a/ e):在 JS Fiddle 演示中更正了错字

$(document).ready(function () {

    $.fn.newmodalcontrols = function (modelspec) {
        alert(modelspec);
    } // end newmodalcontrols
      //           ^- Should be an 'e'

    $('#testlink').click(function () {
        $(this).parent().newmodelcontrols('number1');
        //                     ^- Or this should be an 'a'
    }); // end testlink click function

}); // end ready

顺便说一句,在 Chromium 中,这将在 Web Inspector 的 JavaScript 控制台中显示为:

Uncaught TypeError: Object [object Object] has no method 'newmodelcontrols'

这应该引起您注意您正在使用/定义的方法的名称。

于 2013-05-09T18:18:58.570 回答
0

你有一个错字。

看看小提琴

http://jsfiddle.net/AUEZJ/

$(文档).ready(函数 () {

$.fn.newmodelcontrols = function (modelspec) {
    alert(modelspec);
}; // end newmodalcontrols


$('#testlink').click(function () {
    $(this).parent().newmodelcontrols('number1');
}); // end testlink click function

}); // 结束准备

于 2013-05-09T18:23:42.040 回答