javascript - 使用 .click 而不是 onclick 并获取变量值

标签 javascript jquery

我发现 onclick、mouseover 等内联/html 事件的使用越来越少,建议使用 Javascript 注册事件。

我目前有一些 HTML,例如:

<ul id="supported-locations">
    <li onclick="setLocationId(32);">Mexico</li>
    <li onclick="setLocationId(35);">Mongolia</li>
</ul>

效果很好,但我现在想在 HTML 中不使用“onclick”的情况下执行此操作,但仍然能够检索 ID 号。

<li>元素通过 AJAX 检索,当用户在输入框中键入内容时,它会查询数据库并检索数据,而无需加载页面。

当用户单击其中一个国家/地区时,它将运行 setLocationId函数,它只是简单地设置一个隐藏的 HTML 表单元素与所选国家/地区的 ID,这样我就可以在提交表单后使用它。

如何为这些 <li> 注册事件监听器国家及其 ID 总是不同的,并且会根据用户在框中输入的内容而变化?

最佳答案

使用数据属性来保存数字。在 onclick 事件中,读取被单击元素的属性。

HTML:

<ul id="supported-locations">
    <li data-code="32">Mexico</li>
    <li data-code="35">Mongolia</li>
</ul>

JavaScript:

$("#supported-locations").on("click", "li", function() {    
    var li = $(this);
    console.log(li.data("code"));
});

示例:

JSFiddle

关于javascript - 使用 .click 而不是 onclick 并获取变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18488516/

相关文章:

javascript - 如何使用 jQuery 删除字符串中的句点

jquery - 如何处理所有浏览器中的就绪事件和页面显示事件,以在按下后退按钮时提供帮助

java - struts2如何设置UTF-8字符编码

javascript - 如何在 JavaScript 中为 CSS 属性动态使用函数参数

javascript - 该文件的验证来自哪里?

javascript - jQuery Mobile – 切换单选按钮的启用和禁用状态

jquery - 从 ajax 响应中检索值

javascript - Jade 中带有字符串和变量的动态元素

javascript - 将项目添加到 ReactJs 状态的数组中,并设置超时以进行 self 删除

javascript - 点击填写表格?