如何在页面加载时执行绑定到元素的javascript/jquery函数?

如何在页面加载时执行绑定到元素的javascript/jquery函数?,javascript,jquery,ajax,load,Javascript,Jquery,Ajax,Load,在这一点上,我很难找到任何相关的问题(尽管我认为我已经使用了很多相关的搜索词(参考:标题)…因此: <td class="noprint"> <a class="ui-button isbillable" onclick="switchBillable($(this))" value="1">Aanrekenbaar?</a> <a class="ui-button isbillable" onclick="switchBillable($(this

在这一点上,我很难找到任何相关的问题(尽管我认为我已经使用了很多相关的搜索词(参考:标题)…因此:

<td class="noprint">
 <a class="ui-button isbillable" onclick="switchBillable($(this))" value="1">Aanrekenbaar?</a>
 <a class="ui-button isbillable" onclick="switchBillable($(this))" value="2">Aanrekenbaar?</a>
 <a class="ui-button isbillable" onclick="switchBillable($(this))" value="...">Aanrekenbaar?</a>
</td>
使用Firebug,我无法检测到任何AJAX调用,因此此代码从未执行过-我尝试过使用load()、on('load',,)和bind()

尝试使用

$(window).load(function(){
    $( ".isbillable" ).load( function() {
        var prestId = $(this).val();
        $.ajax({
            url: "ajax/check_billable.php",
            data: { q: prestId },
            success: function () {
                if (response == true) {
                    $(this).removeClass('isbillable');
                    $(this).addClass('billable');
                }else{
                    $(this).removeClass('isbillable');
                    $(this).addClass('notbillable');
                }
            }
        });
    }).button({
        icons: { primary: "ui-icon-help" },
        text: false
    });
    $( ".billable" ).button({
        icons: { primary: "ui-icon-notice" },
        text: false
    });
    $( ".notbillable" ).button({
        icons: { primary: "ui-icon-check" },
        text: false
    });
});
元素上没有
load()
事件。如果您想在加载页面时发生什么,只需将其放在document.ready处理程序的顶层即可

您还需要使用
上下文:
选项使
$(this)
在回调中可用

$(document).ready(function(){
    $(".isbillable").each(function() {
        var prestId = $(this).val();
        $.ajax({
            url: "ajax/check_billable.php",
            data: { q: prestId },
            context: this,
            success: function () {
                if (response == true) {
                    $(this).removeClass('isbillable').addClass('billable');
                }else{
                    $(this).removeClass('isbillable').addClass('notbillable');
                }
            }
        });
    }).button({
        icons: { primary: "ui-icon-help" },
        text: false
    });
    $( ".billable" ).button({
        icons: { primary: "ui-icon-notice" },
        text: false
    });
    $( ".notbillable" ).button({
        icons: { primary: "ui-icon-check" },
        text: false
    });
});

显然不清楚你想做什么?锚没有加载事件,没有什么可加载的?如果你试图等待jQuery UI或其他插件,你必须直接点击这些插件,假设它们有一个在完成时触发的事件明显的错误确实是锚点元素没有“加载事件”。我在某个地方读到这是DOM的“限制”,但我认为jQuery已经找到了绕过此限制的方法,并且没有进一步注意它。Thx。这解决了我的问题,并且很荣幸看到了另一个确实存在$(this)的问题没有引用我想要的元素。
$(document).ready(function(){
    $(".isbillable").each(function() {
        var prestId = $(this).val();
        $.ajax({
            url: "ajax/check_billable.php",
            data: { q: prestId },
            context: this,
            success: function () {
                if (response == true) {
                    $(this).removeClass('isbillable').addClass('billable');
                }else{
                    $(this).removeClass('isbillable').addClass('notbillable');
                }
            }
        });
    }).button({
        icons: { primary: "ui-icon-help" },
        text: false
    });
    $( ".billable" ).button({
        icons: { primary: "ui-icon-notice" },
        text: false
    });
    $( ".notbillable" ).button({
        icons: { primary: "ui-icon-check" },
        text: false
    });
});