javascript - 将输入附加到表单的 jQuery 函数适用于 Chrome,但不适用于 Safari

标签 javascript jquery html

我有这个 jQuery 函数:

$('.bid_btn').click(function(event) {
        var doctor_id = $(event.target).val();
        console.log(doctor_id);
        if(doctor_id == ""){
          console.log('nothing here');
        } else {
              if(!$('input[name="form_doctor_id"]').length){
                  $form.append($('<input type = "hidden" name = "form_doctor_id">').val(doctor_id));
              } else {
                  if(doctor_id == "Book Appointment"){
                    console.log('nothing to add here');
                  } else {
                    $('input[name="form_doctor_id"]').val(doctor_id);
                  }
                }
          }
      $(this).unbind(event);
    });

它的作用是在每次单击 bid_btn 类的按钮时获取该类的值,然后将其作为隐藏输入附加到表单中。它在 Chrome 中工作正常,但在 Safari 中不起作用,我不明白为什么。我在 Stack Overflow 上读过一些关于此类问题的其他类似问题,但我希望有人能够帮助指出我在 jQuery 函数中的何处可以解决这个问题。

最佳答案

尝试将event.target更改为thisthis 始终引用监听器附加到的 DOM 元素,但 event.target 是被单击的实际 DOM 元素,例如:

<button class="bid_btn" value="1"> <span> Icon </span> Button </button>

如果您附加点击监听器:

$('.bid_btn').click(function(event) {...});

当您单击span时,将调用处理程序,并且event.target是没有的span元素。

关于javascript - 将输入附加到表单的 jQuery 函数适用于 Chrome,但不适用于 Safari,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38545827/

相关文章:

html - 为什么我的菜单和页脚有空格?

javascript - 从 RSS/Atom 提要中提取图像

javascript - 如何更改dygraph中的轴参数

javascript - fancybox,点击打开图库

html - 在 Chrome 中找不到聚焦/单击按钮的 css

javascript - 太多的滚动事件无法平滑滚动

PHP 或 Javascript 将数据格式化为可显示的输出?

javascript - Angularjs 在同一个文本框上进行多次验证

javascript - 从 Selenium Webdriver 中的 JQuery 脚本返回值

javascript - 响应式设计 : Mobile version of site shows full version while loading