在页面加载1次而不是按钮单击时警告/显示消息

时间:2014-08-13 13:06:13

标签: javascript jquery html alertify

这是我目前的设置。我想在主页上显示消息而不是href链接。最新的更新。我相信听众没有运气:

<script>
function reset() {
    $("#toggleCSS").attr("href", "../themes/alertify.default.css");
    alertify.set({
        labels: {
            ok: "OK",
        },
        delay: 5000,
        buttonFocus: "ok"
    });
}

// ==============================
// Standard Dialogs


var listener = function(e) {
    e.preventDefault();
    $('#el').off(listener);


    $(document).ready(function() {
        reset();
        alertify.alert("Message en français ici / Message en anglais ici");
        return false;
    });

};
$('#el').on('click', listener);
</script>

2 个答案:

答案 0 :(得分:2)

替换您的代码

  $("#alert").on( 'click', function () {
    reset();
    alertify.alert("Message en français ici / Message en anglais ici");
    return false;
});

通过以下代码。

  $(document).ready(function() {
    reset();
    alertify.alert("Message en français ici / Message en anglais ici");
    return false;
});

这样就会在页面加载时显示警告

答案 1 :(得分:1)

如果您只想执行click - 触发的行为一次,然后让#alert正常使用$.one('click', ...)方法。

另外,请确保使用event.preventDefault()

来阻止默认行为

这将在第一次使用后自动删除侦听器。

以下两个是等效的

var listener = function (e) { 
    e.preventDefault();
    $('#el').off(listener);
    /* your logic */
};
$('#el').on('click', listener);

var listener = function (e) { 
    e.preventDefault();
    /* your logic */
};
$('#el').one('click', listener);

修改

如果您希望在页面加载时执行逻辑,请使用$(document).ready侦听器