我的网站运行了一些第三方应用程序正在做一些http请求来注入数据.我想知道是否可以捕获从我的页面初始化的任何http请求,以及如果可能的话如何捕获它?
我想用javascript捕获它,因为我需要在我的页面上显示一些关于http请求的提示.
使用triggerHandler()作品单击元素:
$element = $('#gwt-debug-location-pill-edit-div:visible');
$element.triggerHandler('click');
Run Code Online (Sandbox Code Playgroud)
但是,使用它来点击它trigger()不会:
$element.trigger('click');
Run Code Online (Sandbox Code Playgroud)
这是为什么?
要复制它(在Firefox和Chrome中):
->关键字规划师
javascript jquery javascript-events jquery-trigger jquery-triggerhandler
我有一个JavaScript问题 - 即使涉及谷歌图表.
我准备了一个简单的测试用例,您可以立即在浏览器中尝试.
我无法准备一个JSFiddle,它由于某种原因没有运行我的代码.
我的问题是:我的网页上有多个图表,每个图表都注册了一个"选择"事件监听器.在监听器内部,我(非常自然地)需要看到,哪个图表完全被点击(选中).
我下面的有问题的代码总是在网页上打印最后一个图表的标题.
您可以在下面的屏幕截图中看到它:我点击GSM_1800_EDGE_EMAC_HP_H图表,但警报显示它是GSM_1800_EDGE_EMAC_HP_M:

我尝试了不同的方法(闭包?),但为了简洁起见,没有在这里列出它们.
这是我的代码,请var data = ...在开头忽略大量的任务,其余的代码非常简单:
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript" src="https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1','packages':['corechart']}]}"></script>
<script type="text/javascript">
var data = {"GSM_1800_EDGE_EMAC_HP_L":{"rows":[{"c":[{"v":"EVM_RMS_MAXIMUM"},{"v":1.673198},{"v":1.703763},{"v":1.816869},{"v":1.850355},{"v":1.888287},{"v":2.072179},{"v":2.208197},{"v":2.040064},{"v":1.785052},{"v":1.862001},{"v":2.018309},{"v":1.713204},{"v":1.891804},{"v":2.215505},{"v":1.852155},{"v":5},{"v":0}]},{"c":[{"v":"ORIGIN_OFFSET"},{"v":-55.52737},{"v":-54.60983},{"v":-52.95285},{"v":-57.21094},{"v":-55.08899},{"v":-52.80658},{"v":-54.45917},{"v":-54.47009},{"v":-55.10355},{"v":-53.616},{"v":-52.98431},{"v":-54.99429},{"v":-52.11819},{"v":-54.55518},{"v":-56.68314},{"v":-33},{"v":0}]},{"c":[{"v":"FREQERROR_AVG"},{"v":21.76066},{"v":47.62163},{"v":21.30866},{"v":42.55275},{"v":26.76497},{"v":34.12614},{"v":18.49979},{"v":29.44469},{"v":22.63238},{"v":34.02929},{"v":38.48473},{"v":28.63755},{"v":27.99183},{"v":14.27035},{"v":11.30005},{"v":0},{"v":0}]},{"c":[{"v":"AVGBURSTPOWER"},{"v":26.05695},{"v":26.26254},{"v":26.23032},{"v":26.21082},{"v":26.21725},{"v":26.19885},{"v":26.21213},{"v":26.19904},{"v":26.19995},{"v":26.20013},{"v":26.21317},{"v":26.20001},{"v":26.21893},{"v":26.18625},{"v":26.19437},{"v":0},{"v":0}]}],"cols":[{"p":{"role":"domain"},"label":"MEASUREMENT","type":"string"},{"p":{"role":"data"},"label":"1142926087 #1","type":"number"},{"p":{"role":"data"},"label":"1142926087 #2","type":"number"},{"p":{"role":"data"},"label":"1142926087 #3","type":"number"},{"p":{"role":"data"},"label":"1142926087 #4","type":"number"},{"p":{"role":"data"},"label":"1142926087 #5","type":"number"},{"p":{"role":"data"},"label":"1142926087 #6","type":"number"},{"p":{"role":"data"},"label":"1142926087 #7","type":"number"},{"p":{"role":"data"},"label":"1142926087 #8","type":"number"},{"p":{"role":"data"},"label":"1142926087 #9","type":"number"},{"p":{"role":"data"},"label":"1142926087 #10","type":"number"},{"p":{"role":"data"},"label":"1142926087 #11","type":"number"},{"p":{"role":"data"},"label":"1142926087 #12","type":"number"},{"p":{"role":"data"},"label":"1142926087 #13","type":"number"},{"p":{"role":"data"},"label":"1142926087 #14","type":"number"},{"p":{"role":"data"},"label":"1142926087 #15","type":"number"},{"p":{"role":"interval"},"label":"LSL","type":"number"},{"p":{"role":"interval"},"label":"USL","type":"number"}]},"GSM_1800_EDGE_EMAC_HP_H":{"rows":[{"c":[{"v":"EVM_RMS_MAXIMUM"},{"v":1.793361},{"v":1.563394},{"v":1.737285},{"v":1.662266},{"v":2.13238},{"v":1.74495},{"v":1.730418},{"v":1.723552},{"v":1.790512},{"v":1.846552},{"v":1.807153},{"v":1.859796},{"v":1.908171},{"v":1.846123},{"v":1.750672},{"v":5},{"v":0}]},{"c":[{"v":"ORIGIN_OFFSET"},{"v":-57.54144},{"v":-58.77484},{"v":-57.19012},{"v":-53.42612},{"v":-57.18826},{"v":-55.3111},{"v":-54.42715},{"v":-55.91037},{"v":-54.51541},{"v":-55.95123},{"v":-56.42453},{"v":-51.98267},{"v":-52.10809},{"v":-55.15536},{"v":-56.74002},{"v":-33},{"v":0}]},{"c":[{"v":"FREQERROR_AVG"},{"v":28.70212},{"v":55.40252},{"v":28.86355},{"v":49.36506},{"v":35.61129},{"v":40.09902},{"v":27.18469},{"v":38.42016},{"v":29.31555},{"v":40.80931},{"v":46.03962},{"v":35.54672},{"v":38.12959},{"v":23.66553},{"v":18.53208},{"v":0},{"v":0}]},{"c":[{"v":"AVGBURSTPOWER"},{"v":25.99338},{"v":26.19803},{"v":26.17307},{"v":26.15582},{"v":26.1507},{"v":26.12967},{"v":26.14883},{"v":26.13281},{"v":26.13333},{"v":26.12888},{"v":26.15344},{"v":26.14447},{"v":26.15091},{"v":26.11832},{"v":26.125},{"v":0},{"v":0}]}],"cols":[{"p":{"role":"domain"},"label":"MEASUREMENT","type":"string"},{"p":{"role":"data"},"label":"1142926087 #1","type":"number"},{"p":{"role":"data"},"label":"1142926087 #2","type":"number"},{"p":{"role":"data"},"label":"1142926087 #3","type":"number"},{"p":{"role":"data"},"label":"1142926087 #4","type":"number"},{"p":{"role":"data"},"label":"1142926087 #5","type":"number"},{"p":{"role":"data"},"label":"1142926087 #6","type":"number"},{"p":{"role":"data"},"label":"1142926087 #7","type":"number"},{"p":{"role":"data"},"label":"1142926087 #8","type":"number"},{"p":{"role":"data"},"label":"1142926087 #9","type":"number"},{"p":{"role":"data"},"label":"1142926087 #10","type":"number"},{"p":{"role":"data"},"label":"1142926087 #11","type":"number"},{"p":{"role":"data"},"label":"1142926087 #12","type":"number"},{"p":{"role":"data"},"label":"1142926087 #13","type":"number"},{"p":{"role":"data"},"label":"1142926087 #14","type":"number"},{"p":{"role":"data"},"label":"1142926087 #15","type":"number"},{"p":{"role":"interval"},"label":"LSL","type":"number"},{"p":{"role":"interval"},"label":"USL","type":"number"}]},"GSM_1800_EDGE_EMAC_HP_M":{"rows":[{"c":[{"v":"EVM_RMS_MAXIMUM"},{"v":1.561868},{"v":1.73105},{"v":1.797044},{"v":1.76599},{"v":2.084661},{"v":1.728261},{"v":1.623273},{"v":1.713252},{"v":1.721168},{"v":1.67675},{"v":1.816809},{"v":1.473725},{"v":2.130508},{"v":1.753807},{"v":1.635349},{"v":5},{"v":0}]},{"c":[{"v":"ORIGIN_OFFSET"},{"v":-55.58054},{"v":-54.61621},{"v":-59.66745},{"v":-54.58603},{"v":-56.94119},{"v":-57.44168},{"v":-55.79709},{"v":-56.0144},{"v":-53.07523},{"v":-58.99078},{"v":-54.67191},{"v":-58.43228},{"v":-54.7934},{"v":-53.57614},{"v":-56.65137},{"v":-33},{"v":0}]},{"c":[{"v":"FREQERROR_AVG"},{"v":32.35042},{"v":61.47226},{"v":33.02842},{"v":54.65994},{"v":41.48732},{"v":45.49076},{"v":31.31727},{"v":46.07191},{"v":34.09386},{"v":45.36162},{"v":54.17566},{"v":40.87389},{"v":44.0379},{"v":32.18899},{"v":28.21783},{"v":0},{"v":0}]},{"c":[{"v":"AVGBURSTPOWER"},{"v":26.08215},{"v":26.27185},{"v":26.24777},{"v":26.23657},{"v":26.23239},{"v":26.21872},{"v":26.23657},{"v":26.21646},{"v":26.21149},{"v":26.21417},{"v":26.23041},{"v":26.21982},{"v":26.23303},{"v":26.20111},{"v":26.2052},{"v":0},{"v":0}]}],"cols":[{"p":{"role":"domain"},"label":"MEASUREMENT","type":"string"},{"p":{"role":"data"},"label":"1142926087 #1","type":"number"},{"p":{"role":"data"},"label":"1142926087 #2","type":"number"},{"p":{"role":"data"},"label":"1142926087 #3","type":"number"},{"p":{"role":"data"},"label":"1142926087 #4","type":"number"},{"p":{"role":"data"},"label":"1142926087 #5","type":"number"},{"p":{"role":"data"},"label":"1142926087 #6","type":"number"},{"p":{"role":"data"},"label":"1142926087 #7","type":"number"},{"p":{"role":"data"},"label":"1142926087 #8","type":"number"},{"p":{"role":"data"},"label":"1142926087 #9","type":"number"},{"p":{"role":"data"},"label":"1142926087 #10","type":"number"},{"p":{"role":"data"},"label":"1142926087 #11","type":"number"},{"p":{"role":"data"},"label":"1142926087 #12","type":"number"},{"p":{"role":"data"},"label":"1142926087 …Run Code Online (Sandbox Code Playgroud) 我有一个对象.它初始化一个按钮以提醒"你好!" 当它被点击时.为什么这不起作用?
jsfiddle:http://jsfiddle.net/kUT52/1/
HTML
<button>Test</button>
Run Code Online (Sandbox Code Playgroud)
JS
var MyObject = {
testValue: "Hello!",
testFunction: function() {
alert(this.testValue);
},
init: function(button) {
button.click(this.testFunction());
}
}
$(document).ready(function(){
var buttonInstance = new MyObject();
var button = $('button');
buttonInstance.init(button);
});
Run Code Online (Sandbox Code Playgroud) <script type="text/javascript">
function checkAll(formname, checktoggle)
{
var checkboxes = new Array();
checkboxes = document[formname].getElementsByTagName('input');
for (var i = 0; i < checkboxes.length; i++) {
if (checkboxes[i].type === 'checkbox') {
checkboxes[i].checked = checktoggle;
}
}
}
</script>
<form name="myform">
<li>
<label class="cba">
<a href="javascript:void();" onclick="javascript:checkAll('myform', true);">Check All</a> |
<a href="javascript:void();" onclick="javascript:checkAll('myform', false);">UnCheck All</a>
</label>
</li>
<li>
<input class="cba" type="checkbox" name="content1" value="1"<?php checked('1', $slct); ?>/>
</li>
<li>
<input class="cbc" type="checkbox" name="content2" value="2"<?php checked('2', $copy); ?>/>
</li>
<li>
<input class="cbx" type="checkbox" name="content3" value="3"<?php …Run Code Online (Sandbox Code Playgroud) 是否有可能知道在页面的特定DOM元素上触发特定事件的javascript代码行是什么?
例如,如果你去那里:http://www.gamempire.it/,是什么代码行使页面的标识可拖动(class ="brand master").
谢谢
例如,如果我有一系列这样创建的事件侦听器:
var els = document.getElementyById('myList').getElementsByTagName('li');
for (i=0;i<els.length;i++) {
els[i].addEventListener(eventType, function(e){ /* do stuff */ }, true);
}
Run Code Online (Sandbox Code Playgroud)
首先,我是否犯了这种异端?我的意思是,除了每个<li>元素都有一个事件之外,还有别的简单的方法吗?
在这两种情况下,主要问题是:如果将<li>s删除/替换,那些事件侦听器将如何处理?如果这样做,会发生什么:
document.getElementyById('myList').innerHTML = 'Hello World!';
Run Code Online (Sandbox Code Playgroud)
做听众留“暂停”从而拖慢浏览器(假设我有很多的<li>S),或者他们自动删除?甚至有问题吗?
我正在使用postMessage将iframe中的消息传输到其父页面.这是我的代码.在iframe中:
$(".history_date").click(function(event) {
window.top.postMessage($(this).text(), "*");
});
Run Code Online (Sandbox Code Playgroud)
在父页面中:
$(function(){
window.onmessage = function(e){
if(e.data){
//do something
}
};
});
Run Code Online (Sandbox Code Playgroud)
它在chrome,firefox和IE9/10中运行良好,但在IE8中,错误会失败
'data'为null或不是对象.
怎么解决?提前致谢.
我想知道当它们到达某个元素时如何阻止所有类型事件的传播.
我曾想过
function stop(e){
e.stopPropagation();
}
function stopEvents(el){
var events = ['click', 'mousemove', ...];
for(var i=0; i<events.length; ++i){
el.addEventListener(events[i], stop, false);
}
}
Run Code Online (Sandbox Code Playgroud)
有更聪明的方法吗?
看来,我的代码工作,但我想,不需要所有可能的事件列表的代码.
因为如果我写一个其他人可以用来向页面添加内容的GreaseMonkey模块,我不希望在该内容中生成的事件触发页面的事件监听器(假设他们不使用捕获).实际上我使用iframe解决了它,但问题仍然存在于学术目的
这是我的代码:
$('#Login').keydown(function(e){
if(e.which == 32){
alert("enter");
this.preventDefault();
}
});
Run Code Online (Sandbox Code Playgroud)
此代码不起作用,但发送警报
$('#Pwd,#Pwd2').on('keydown',function(e){
if(e.which == 32){
e.preventDefault();
}
});
Run Code Online (Sandbox Code Playgroud)
这段代码有效.我不懂为什么.