在我的content_script.js中,我正在处理Chrome扩展程序:
document.addEventListener("funcDoRequest", function (params)
{
alert('From content_script');
});
在我的index.html网页中如何从jQuery调用此funcDoRequest?任何例子?我也需要将detail.x参数传递给它。
我可以在没有jQuery的情况下这样做,但我不希望这样:
<script>
var event = new CustomEvent('funcDoRequest', { 'detail': { something: 'something' } });
var go = function () { document.dispatchEvent(event); }
</script>
<a href="javascript:go();">Click me</a>
感谢。
答案 0 :(得分:0)
可能的jQuery等效方法可以使用.click()
<a>
作为自定义事件,在.on()
元素处设置"funcDoRequest"
事件;以.trigger()
作为第一个参数调用"funcDoRequest"
,数据对象{ something: "something" }
作为第二个参数点击a
元素;传递的数据对象可以在.on("funcDoRequest")
处理程序中作为第二个参数params
进行访问。还在event.preventDefault()
点击处理程序添加了a
。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<script>
$(document).ready(function() {
var doc = $(this); // `document`
$("a").click(function(e) {
e.preventDefault();
doc.trigger("funcDoRequest", {
"something": "something"
})
});
// at `content_script.js`
$(document).on("funcDoRequest", function(e, params) {
console.log(e, params);
alert(JSON.stringify(params))
});
})
</script>
<a href="#">Click me</a>
&#13;