我可以通过点击调用jquery函数吗?

时间:2009-08-09 03:23:17

标签: jquery

当我们得到新的评论和答案时,我正在尝试做类似于我们在这里得到的警告框的东西,橙色的盒子贴在屏幕的顶部,我有类似但我想要得到的东西一个X关闭链接,点击

关闭它

这是我所拥有的,但是它给我的错误说没有定义close_error_click()?

<script type="text/javascript" >
function close_error_click(){
    $("#notify-container").fadeOut("slow", function () {
    $("#notify-container").remove();
}
</script>

<div id="notify-container">
some other code here
<a onclick="close_error_click" title="dismiss this notification">×</a>
</div>

6 个答案:

答案 0 :(得分:4)

您可以在函数后添加以下行,而不是使用onlick属性:

$("#notify-container a").click(close_error_click);

这种称为Unobtrusive JavaScript的技术可以使您的标记保持清晰。这是一个完整的例子:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
        <script type="text/javascript">
        $(function()
        {
            $("#notify-container a.close").click(function()
            {
                $("#notify-container").fadeOut("slow", function()
                {
                    $(this).remove();
                });
            });
        });
        </script>
    </head>
    <body>
        <div id="notify-container">
            some other code here
            <a href="#" class="close" title="dismiss this notification">×</a>
        </div>
    </body>
</html>

答案 1 :(得分:1)

是的,只是这样做:

close_error_click();在您的onclick中。

你错过了最后的括号。

答案 2 :(得分:1)

尝试

<a onclick="close_error_click();" title="dismiss this notification">×</a>

答案 3 :(得分:0)

此外,您可能不需要标记中的代码:

<script type="text/javascript" >
function close_error_click(){
    $("#notify-container").fadeOut("slow", function () {
    $("#notify-container").remove();
    return false;
});
}
$(document).ready(function(){
$('#notify-container .closewindow").click(close_error_click);
});
</script>

<div id="notify-container">
some other code here
<a href="#" title="dismiss this notification" class="closewindow">×</a>
</div>

答案 4 :(得分:0)

你需要添加()到函数的名称 ×

jquery中的

$(document).ready(function(){

$( “#id_of_the_a_element”)点击(close_error_click);

});

function close_error_click(){
 $(“#notify-container”)。fadeOut(“slow”,function(){$(“#notify-container”)。remove();}

答案 5 :(得分:0)

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
</head>
<body>
    <div id="notify-container">
        some other code here <a id="CloseLink" href="#" title="dismiss this notification">x</a>
    </div>
</body>
<script type="text/javascript">
    $(function()
    {
        $('div#notify-container a#CloseLink').click(function(e)
        {
            $('div#notify-container').fadeOut('slow', function()
            {
                $(this).remove();
            });
            e.preventDefault();
        });
    });
</script>
</html>