标签: mootools-events

在Google Maps API InfoWindow中向元素添加事件

我想在Google Maps API(v3)InfoWindow中添加一个带有输入字段和提交按钮的表单.

提交时,我想调用一个函数,使用输入到输入字段中的地址启动指向服务.

这是我的代码(我目前只测试方向事件是否被触发.我已经编写完整的getDirections()事件并且可以确认它有效并在正确触发时返回指示):

我尝试使用MooTools添加一个事件监听器,如下所示:

var infoWindowContent   = "<b>Get Directions From...</b><br />"
                        + "<form id='map-form'>"
                        + "Address/Postcode: <input id='map-from-address' type='text' />"
                        + "<input type='submit' id='map-go' value='Go' />"
                        + "</form>";

var infoWindow = new google.maps.InfoWindow({
    content: infoWindowContent
});

google.maps.event.addListener(marker, 'click', function() {
    infoWindow.open(map, marker);
    dbug.log($("map-form"));
    $("map-form").addEvent("submit", getDirections);
});

function getDirections(event)
{
    dbug.log("getDirections");
    event.stop();
}
Run Code Online (Sandbox Code Playgroud)

当我在我的网站的其他地方使用MooTools时,我将所有代码放入其中 window.addEvent('load', function(){...});

请注意dbug.log($("map-form"));正确输出表单元素的控制台跟踪,但事件未触发.

我在DOM中将相同的事件添加到另一个表单(具有不同的ID)并且它工作正常.

那么,如果MooTools可以找到该元素并据说添加事件监听器,那么阻止事件触发的是什么?这是范围问题吗?

javascript mootools infowindow google-maps-api-3 mootools-events

22
推荐指数
1
解决办法
2万
查看次数

为什么手动触发事件时回调中事件 e 未定义?

我正在使用Mootools并向链接添加点击事件。我已经向事件添加了一个函数:

$('addCallRoute').addEvent('click', addCallRoute); // Add button
Run Code Online (Sandbox Code Playgroud)

该函数包含以下内容:

function addCallRoute(e) {
    console.log(e);
}
Run Code Online (Sandbox Code Playgroud)

触发事件的函数(无需实际点击)

$('addCallRoute').fireEvent('click');
Run Code Online (Sandbox Code Playgroud)

问题: 当我实际单击链接时,e已定义。但是当我以编程方式触发该事件时,eundefined. 为什么?

javascript mootools mootools-events

3
推荐指数
1
解决办法
809
查看次数

如何以编程方式单击MooTools的元素?

在jQuery中,我过去做过这样的事情:

$('#someCheckbox').click();
Run Code Online (Sandbox Code Playgroud)

一切正常,好像用户只是正常点击元素.但是在MooTools中同样不起作用:

$('someCheckbox').fireEvent('click');
Run Code Online (Sandbox Code Playgroud)

未选中该复选框,也不会触发任何绑定的事件处理程序.

有没有办法做到这一点?我需要触发已绑定的"click"事件处理程序,因此只需设置它的"checked"属性就不是一个选项.

谢谢

javascript mootools dom javascript-events mootools-events

2
推荐指数
1
解决办法
6382
查看次数

mootools显示/隐藏div取决于是否选中复选框

我有一个复选框,我想在表单中显示一个取决于是否单击该复选框的字段集?即如果选中该复选框,则不显示该字段集,如果未显示该字段集.

我的标记看起来像这样,

<fieldset class="toplined">
<label>Keep Image</label>
<input type="checkbox" name="update_image[]" value="1" id="toggle" checked='true'/>
</fieldset>

<fieldset class="toplined toggle_slide">
<label>Image:</label>
<input type="file" name="article_image[]">
</fieldset>
Run Code Online (Sandbox Code Playgroud)

类toggle_slide的字段集是我要显示/隐藏的字段集,我目前有这个mootools脚本

$('toggle').addEvent('click', function(e){
    e = new Event(e);
    $$('.toplined toggle_slide').toggle();
    e.stop();
});
Run Code Online (Sandbox Code Playgroud)

但这只会导致错误.

javascript mootools dom mootools-events

1
推荐指数
1
解决办法
5941
查看次数