我正在创建一个在第 3 方网站上运行的 Firefox/Chrome 插件。在这个网站上,一个 ul
中有大约 512 个名字的列表。我想根据它们的值放置 12 个,并与数组进行比较。
每个 li
项目看起来像这样:
<li><a class="manip" href="javascript:void(0);"></a><span class="draggable in-MultiCheckPossibleUserIdslistpair-possible ui-draggable"><a class="user" href="javascript:jQuery.wp.showModalWindow('/OneProof/User/Info/31654022')">Aaron Quinby</a><span class="id">31654022</span><span class="sortNo">1</span></span><span class="preview" style="display: none;">Aaron Quinby</span></li>
现在,单击带有 manip
类的 a 标签会将 li
项从一个 ul
带到正确的 ul
。我想用我的插件自动执行此操作。我认为最快的方法是在 a 标签上使用 jQuery 调用 .click() 事件,如下所示:
$(document).ready(function() {
$(".manip").each(function() {
//quick check to see if it works, click all
$(this).click();
});
});
我尝试过点击、在控制台中调用它、延迟后调用它以及其他几种方法。
我可以在该网站的源代码中找到与 manip
类相关的唯一 JavaScript 如下:
universe.find("a.manip")
.click(function() {
//alert("bound");
$.dropIt($(this).parent(), false);
});
.click 调用事件不起作用是否有原因?
谢谢!
编辑:宇宙在这里定义:
function listpairCore(options) {
var options = $.extend({}, $.fn.listPair.options, options);
var thisId = this.attr("id");
var ulSelected = this.find("ul.selected");
var ulPossible = this.find("ul.possible");
var universe = this;
这里调用了listpaircore
$.fn.listPair = listpairCore;
最佳答案
单击函数不会模拟单击。它将事件处理程序绑定(bind)到单击事件。
你想要的是
$(this).trigger( "click" );
更新:
您在源代码中找到的 javascript 将“manip”类引用为
universe.find("a.manip")
那么也许尝试做同样的事情?
$(document).ready(function() {
universe.find("a.manip").each(function() {
//quick check to see if it works, click all
$(this).trigger("click");
});
});
关于javascript - 无法调用 .click 函数 - Jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32893266/