如何通过手动触发班级变更事件?

时间:2015-12-20 15:00:51

标签: javascript jquery

如何触发.delivery触发change功能?

 $(document).ready(function(e) {

     $('.delivery').change(function(e) {
         var total = 0 ;
         var price = 0 ;
         ....

3 个答案:

答案 0 :(得分:3)

像这样:

$('.delivery').trigger('change');

答案 1 :(得分:3)

问题似乎是一半,因为你没有在这里添加添加的类名。如果您只是将类名添加到目标元素,那么您只需要这样做:

$('.delivery').change();  // <---will trigger the change.

如果要删除旧类,则必须重新考虑代码。然后你必须创建一个函数并将其称为回调:

function firechange(){
    console. log(event.type);
    // put the code for change event
}

$('.delivery').change(firechange);

现在当你删除并添加一个新类时,在添加类之后你必须绑定change事件,因为这个类不包含任何事件。页面加载后,此类已添加到DOM节点。

假设您添加了一个类newclass并从元素中删除了旧类:

    $('.delivery').removeclass('delivery')
                          .addclass('newclass');

    $('.newclass').change(firechange).change(); // <--bind here and trigger.

或者这样:

    $('.delivery').removeclass('delivery')
                          .addclass('newclass')
                          .change(firechange);

    $('.newclass').change(); // <--bind here and trigger.

答案 2 :(得分:0)

自定义事件怎么样,例如

$('#myelement').trigger($.Event('divchange.namespace'));

你可以这样听:

 $(document).on('divchange.namespace' , '#myelement', function(){
  // do something
 });

如果你想知道的是如何手动触发事件,请使用trigger()