Javascript jQuery点击按钮谁有ajax回调';行不通

Javascript jQuery点击按钮谁有ajax回调';行不通,javascript,jquery,ajax,drupal,Javascript,Jquery,Ajax,Drupal,我有一个Drupal网站,我用一个按钮创建了一个表单,这个按钮有一个ajax回调,回调可以正常工作,但是现在我想在用户单击submit按钮时抛出一个javascript函数 我不想为了这个小功能而创建一个单独的文件来与drupal一起使用,所以我尝试使用jquery click元素: $(document).on('click', '#commerce-checkout-coupon-ajax-wrapper button', function(){ console.log("test"

我有一个Drupal网站,我用一个按钮创建了一个表单,这个按钮有一个ajax回调,回调可以正常工作,但是现在我想在用户单击submit按钮时抛出一个javascript函数

我不想为了这个小功能而创建一个单独的文件来与drupal一起使用,所以我尝试使用jquery click元素:

$(document).on('click', '#commerce-checkout-coupon-ajax-wrapper button', function(){
    console.log("test");
});

但这不起作用,日志不会被触发。所有其他事件(hover、mouseenter等)都可以正常工作,但单击它不起作用,按钮会启动对drupal函数的ajax调用,但不会启动我的javascript函数

我能做什么?我想做的事情是当我们点击按钮时从屏幕上删除一些东西

编辑:这是表单的html(由drupal生成)


问题与此类似,当我单击按钮时,输入不会失去焦点,因此工具提示仍保留在页面上

您可以尝试解决以下问题:

(function($){
  $(document).ready(function(){
     $('button[id*="edit-commerce-coupon-coupon-add"]').on('click', function(){
         console.log('test');
     });
  });

})(jQuery);
还要确保已将js文件正确附加到表单

$form['#attached']['js'][] = 'pathtomyfile.js';

你能分享html样本吗?我用HTMLaded[drupal]的形式编辑我的文章,因为这可能是一个框架问题。
ajax回调
是否自动调用
event.stopPropagation()
?我不知道,但是ajax回调会用一个新的表单替换表单(另一行也是如此),也许我的问题就来自于此?@Jessy共享标记中没有具有所述ID的元素,您可以检查元素并与ID为
commerce checkout优惠券ajax wrapper
的元素共享标记吗问题是我不想只为一个函数创建一个新的js文件,我可以将它放在模板的js文件中吗?我只是看到,在我的按钮点击和ajax替换之间有大约1秒钟的时间,我需要在ajax将旧表单替换为新表单时隐藏工具提示,有办法做到这一点吗?最好使用Advance Aggregator模块将js和css聚合到一个文件中,这样您就可以创建多个js文件,这只是为了代码清晰。您想在ajax替换期间取消激活字段吗?我在悬停文本输入时会显示工具提示,当我单击抛出ajax替换的按钮时,我想使工具提示从ajax api drupal中消失,因此您可以在本文档中找到一些更改功能性的帮助:
 $('#commerce-checkout-coupon-ajax-wrapper .form-control.form-text').focusout(function (e) {
    console.log("test");
    $('.tooltip').remove();
});
(function($){
  $(document).ready(function(){
     $('button[id*="edit-commerce-coupon-coupon-add"]').on('click', function(){
         console.log('test');
     });
  });

})(jQuery);
$form['#attached']['js'][] = 'pathtomyfile.js';