我使用angular-leaflet-directive来显示填充了多个标记的地图,我有一个表,用户可以从中选择其中一个标记.我知道如何居中(在地图上显示)在表格中点击的一个标记,但我想打开标记的弹出消息.我知道我需要在地图上发出"点击"事件,但我不明白如何以"有角度的方式"进行.任何建议都将深表感谢.谢谢.
如何在JQuery中使用事件?
我有2个项目,在这两个项目中,我使用不同的方式使用JQuery设置事件.在第一个项目中,我使用如下:
$("#someID").click(SomeFunction);
Run Code Online (Sandbox Code Playgroud)
在第二个项目中我使用如下:
$(document).on("click", "#someID", SomeFunction);
Run Code Online (Sandbox Code Playgroud)
如果我尝试在第二个项目中使用第一种方式,它将无法工作.我更喜欢第一种方式.有什么不同吗?
如果我将click处理程序绑定到body元素,当我单击页面上的任何内容时,将触发事件.我可以检查event.target每次点击:
$("body").on("click", function(event) {
if (event.target.tagName == "BODY") {
...
}
});
Run Code Online (Sandbox Code Playgroud)
但这似乎有点矫枉过正.有没有办法只在单击身体的空白区域时触发事件?
我找到了一个代码片段,它将一些事件绑定到一个对象,其中一个事件被命名为"bind".真的有这样的事吗?环顾四周,我找不到一个.
jQuery(".some-selector").on("keyup bind cut copy paste", function() { ... });
Run Code Online (Sandbox Code Playgroud)
我认为编写该代码的人是个错误......这是正确的吗?
我试图阻止双击表单按钮,禁用该元素几秒钟.
<form action="#" method="POST">
<input type="text" />
<input type="password" />
<button class="myButton" type="submit">Send</button>
</form>
var that = this;
this.element = $(".myButton");
this.element.click(function(e) {
this.element.prop("disabled", true);
window.setTimeout(function() {
that.element.prop("disabled", false);
}, 2000);
});
Run Code Online (Sandbox Code Playgroud)
它成功启用/禁用,但.click()功能的使用阻止(自动?O_o)事件的传播,并且页面不遵循表单动作属性中的链接.
注意我正在尝试将行为添加到以前完美运行的表单按钮(POST到 aciton链接).此外,启用/禁用工作也很完美(无论我在上述代码的调整中可能出现的最终错误).
PS - 任何解决方案必须是跨浏览器并与IE8兼容.
在D3中:我正在尝试使用可重用的图表模式来实现图表,这允许我添加在实际图表之外处理的事件.例如,我有一个简单的条形图,我可以点击每个单独的条形图.现在,我希望能够在创建图表实例的位置处理它,而不仅仅是处理图表组件中的click事件.例如,我想编辑与单击的条形元素对应的数据,或者我想根据我单击的条的位置更新某个其他元素的位置.为了使图表组件尽可能模块化和独立,我不希望在其中完成某些任务.
我提出了一个非常直接的解决方案,但我觉得必须有一个更好的解决方案.这样我就必须考虑外界可能感兴趣的每一个可能的事件.JSFiddle
function clickHandler(d, i) {
// do something with the element/event/data
}
var svg = d3.select('#container')
.append('svg');
var myChart = chart()
.onClick(clickHandler);
svg.append('g')
.datum(data)
.call(chart);
function chart() {
var onClick = function() {};
function _chart(selection) {
selection.each(function(d, i) {
selection.selectAll('rect')
.data(d)
.enter()
.append('rect')
.attr('x', 0)
.attr('y', function(d, i) {return i * 11;})
.attr('width', function(d, i) {return d;})
.attr('height', 10);
.on('click', _onClick);
});
}
function _onClick(d, i) {
d3.select(this)
.attr('fill', 'red');
onClick(d, i);
}
_chart.onClick = function(_) …Run Code Online (Sandbox Code Playgroud) 我想在用户单击图层控件中的"城市"复选框时收到通知 - 该图标控件显示或隐藏链接示例中的城市标记.这是一个可以玩的JSFiddle.

我看到LayerGroup从FeatureGroup派生了一些事件.如果我错了请纠正我:据我所知,显示和隐藏标记与layeradd和layerremove不一样?!
该input元素不能id绑定到:
<label>
<input class="leaflet-control-layers-selector" type="checkbox" checked="">
<span> Cities</span>
</label>
Run Code Online (Sandbox Code Playgroud)
如何切换标记的可见性时如何通知?
最近,我的网站开始在Chrome中非常奇怪地工作.我发现在Chrome中,现在点击触摸板(自最近的更新?)会触发两个事件 - click和mouseleave.
<div id="tap">HOVER, TAP or CLICK</div>
<script>
tap.addEventListener("mouseleave",function(){alert("mouseleave");});
tap.addEventListener("click",function(){alert("click");});
</script>
Run Code Online (Sandbox Code Playgroud)
这是JSFiddle:
到目前为止,似乎此问题仅适用于Google Chrome.在FF和Yandex(以铬为基础)的假鼠栏中不会发射.单击按钮(鼠标或触摸板按钮)也可以正常工作 - 没有鼠标.
我怎样才能防止这个鼠标悬停?或者,也许,有一种方法可以从真正的鼠标中分辨出一个tap-mouseleave?
javascript google-chrome javascript-events mouseleave touchpad
鉴于这样的事情$('body').on('click', 'a', someReference);是否有任何方法可以删除特定用途的侦听<a>器$.off()?
我遇到了JavaScript逻辑问题.当我们有一个需要来自事件处理程序的数据来生成结果的函数时,是否可以将该数据恢复功能?例如,如果我们调用Image()object或FileReader()inside并等待其load事件被触发以生成正确的返回结果.
简单的例子:
function imageSize(filename) {
funcResult = false;
var img = new Image();
img.onload = function() {
myResult = {
width: img.width,
height: img.height
}
}
img.src = filename;
return funcResult;
}
Run Code Online (Sandbox Code Playgroud)
当然,它不起作用,因为load在函数执行后异步发生火灾.但是有一些解决方法可以使功能停止和收听,这是我的主要目标.
或者更复杂的例子(也出于同样的原因也无法工作).
function getImageSize(file) {
res = false;
if (window.FileReader) {
var fileReader = new FileReader();
fileReader.onload = function() {
var img = new Image();
img.onload = function() {
res = {
width : img.width,
height : img.height …Run Code Online (Sandbox Code Playgroud) javascript ×10
jquery ×5
leaflet ×2
angularjs ×1
charts ×1
d3.js ×1
forms ×1
mouseleave ×1
synchronous ×1
touchpad ×1