this.dataset.X返回MouseEvent对象

David Yue

我遇到了一个非常奇怪的问题。

我正在尝试创建一个带有带有许多不同搜索类别的下拉按钮的搜索栏。下拉列表中的每个链接都具有相同的id属性,每个属性都具有特定的唯一性category attribute

在我的Javascript中,我使用该querySelectorAll函数遍历所有元素并附加了click事件侦听器,该事件将使用一个参数(参数):category属性值执行搜索功能。

但是,当将值传递到函数中时,我将其[object MouseEvent]作为输出。这很奇怪,因为在alert调用该函数之前立即调用的函数会输出正确的值。我不太确定哪里出了问题

HTML代码:

 <ul class="dropdown-menu dropdown-menu-right">
     <li><a class="dropdown-item" id="search-users-btn" data-category="name" href="#">By First Name</a></li>
    <li><a class="dropdown-item" id="search-users-btn" data-category="level" href="#">By Rank</a></li>
     <li><a class="dropdown-item" id="search-users-btn" data-category="id" href="#">By ID</a></li>
 </ul>

JavaScript代码:

var searchBtn = document.querySelectorAll("[id=search-users-btn]");
for (var i = 0; i < searchBtn.length; i++) {
    searchBtn[i].addEventListener("click", function (e) {            
        e.preventDefault();
        e.stopPropagation();

        alert(this.dataset.category); // This outputs the correct value.

        searchQuery(this.dataset.category);//Everything goes wrong here
        return false;
    })
}

function searchQuery(param) {
    var query = _("search-users-query-box");
    if (!DN.value.empty(query.value)) {
        window.location.href = encodeURI("/index/admin/search/param=" + param + "_" + query.value);

//Output looks like this: "/index/admin/search/param=[object%20MouseEvent]_somevaluehere"

    } else {
        query.style.borderColor = "red";
    }
}
来宾271314

尝试将选择器调整为className document.querySelectorAll(".search-users-btn"); 删除重复id在s search-users-btn,代以增加search-users-btnclassNamea元件

html

<ul class="dropdown-menu dropdown-menu-right">
  <li><a class="dropdown-item search-users-btn" data-category="name" href="#">By First Name</a></li>
  <li><a class="dropdown-item search-users-btn" data-category="level" href="#">By Rank</a></li>
  <li><a class="dropdown-item search-users-btn" data-category="id" href="#">By ID</a></li>
</ul>

js

var searchBtn = document.querySelectorAll(".search-users-btn");
for (var i = 0; i < searchBtn.length; i++) {
  searchBtn[i].addEventListener("click", function(e) {
    e.preventDefault();
    e.stopPropagation();

    alert(e.target.dataset.category); // This outputs the correct value.

    searchQuery(e.target.dataset.category); //Everything goes wrong here
  })
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过Json对象动态返回DataSet

来自分类Dev

Google Fit API的DataSet对象

来自分类Dev

如何在 WCF 中返回 DataSet (xsd)

来自分类Dev

打印torch.data.dataset对象的值

来自分类Dev

Apache Flink:无法将 Table 对象转换为 DataSet 对象

来自分类Dev

tf.data.Dataset.take()返回随机样本吗?

来自分类Dev

tensorflow.keras.dataset.minst.load_data()返回的解释

来自分类Dev

DataSet,SqlDataAdapter,多选返回一个表

来自分类Dev

从返回类型 DataSet 获取输出并将其显示在 Gridview 中

来自分类Dev

将 DataSet 的内容提取到一个对象中

来自分类Dev

从`dataframe / Dataset`函数获得与SQL查询返回的结果相同的结果

来自分类Dev

使用[image,label] = dataset.take(2)返回两个元组,而不是单个元组

来自分类Dev

使用image_dataset_from_directory加载灰度png会返回3通道张量

来自分类Dev

从`dataframe / Dataset`函数获得与SQL查询返回的结果相同的结果

来自分类Dev

c# 代碼返回 System.Data.DataSet 而不是 Data 本身?

来自分类Dev

使用xsd.exe反序列化-如何反序列化为对象而不是DataSet?

来自分类Dev

输入管道带有keras.utils.Sequence对象还是tf.data.Dataset?

来自分类Dev

如何在Spark Dataset中存储嵌套的自定义对象?

来自分类Dev

使用xsd.exe反序列化-如何反序列化对象而不是DataSet?

来自分类Dev

MATLAB中怪异的数组分配:[x,t] = house_dataset

来自分类Dev

tf.dataset.Dataset上的数据扩充

来自分类Dev

如何在NetCDF上应用xarray u_function并将2D数组(多个新变量)返回到DataSet

来自分类Dev

实例化DataSet对象是否自动为CRUD操作创建到基于SQL服务的数据库的连接?

来自分类Dev

Epplus导出错误,如下所示:'System.Data.DataSet'对象类型'System.Data.DataTable'未得到实物。

来自分类Dev

Seaborn load_dataset

来自分类Dev

Spark Dataset:数据转换

来自分类Dev

Unable to save changes to dataset

来自分类Dev

从DataSet问题填充DataGridView

来自分类Dev

DataSet中的分层TreeView

Related 相关文章

  1. 1

    通过Json对象动态返回DataSet

  2. 2

    Google Fit API的DataSet对象

  3. 3

    如何在 WCF 中返回 DataSet (xsd)

  4. 4

    打印torch.data.dataset对象的值

  5. 5

    Apache Flink:无法将 Table 对象转换为 DataSet 对象

  6. 6

    tf.data.Dataset.take()返回随机样本吗?

  7. 7

    tensorflow.keras.dataset.minst.load_data()返回的解释

  8. 8

    DataSet,SqlDataAdapter,多选返回一个表

  9. 9

    从返回类型 DataSet 获取输出并将其显示在 Gridview 中

  10. 10

    将 DataSet 的内容提取到一个对象中

  11. 11

    从`dataframe / Dataset`函数获得与SQL查询返回的结果相同的结果

  12. 12

    使用[image,label] = dataset.take(2)返回两个元组,而不是单个元组

  13. 13

    使用image_dataset_from_directory加载灰度png会返回3通道张量

  14. 14

    从`dataframe / Dataset`函数获得与SQL查询返回的结果相同的结果

  15. 15

    c# 代碼返回 System.Data.DataSet 而不是 Data 本身?

  16. 16

    使用xsd.exe反序列化-如何反序列化为对象而不是DataSet?

  17. 17

    输入管道带有keras.utils.Sequence对象还是tf.data.Dataset?

  18. 18

    如何在Spark Dataset中存储嵌套的自定义对象?

  19. 19

    使用xsd.exe反序列化-如何反序列化对象而不是DataSet?

  20. 20

    MATLAB中怪异的数组分配:[x,t] = house_dataset

  21. 21

    tf.dataset.Dataset上的数据扩充

  22. 22

    如何在NetCDF上应用xarray u_function并将2D数组(多个新变量)返回到DataSet

  23. 23

    实例化DataSet对象是否自动为CRUD操作创建到基于SQL服务的数据库的连接?

  24. 24

    Epplus导出错误,如下所示:'System.Data.DataSet'对象类型'System.Data.DataTable'未得到实物。

  25. 25

    Seaborn load_dataset

  26. 26

    Spark Dataset:数据转换

  27. 27

    Unable to save changes to dataset

  28. 28

    从DataSet问题填充DataGridView

  29. 29

    DataSet中的分层TreeView

热门标签

归档