Questions tagged «dom-events»

DOM(文档对象模型)事件允许事件驱动的编程语言在DOM树内的元素节点上注册各种事件处理程序/侦听器。

3
复选框检查事件监听器
最近,我一直在使用Chrome Plugin API,并且我正在寻求开发一个插件,该插件将使我的网站管理工作变得更加轻松。 现在,我希望做的是在选中某个复选框时触发一个事件。由于该网站不属于我,因此我无法更改代码,因此我正在使用Chrome API。主要问题之一是,没有名称,而是名称。我想知道一旦选中带有“名称”的特定复选框,是否可以触发该功能。


7
获取调用函数的元素的ID
如何获取称为JS函数的元素的ID? body.jpg是狗的图像,因为用户将他/她的鼠标指向屏幕的身体不同部位,从而显示了放大的图像。区域元素的ID等于图像文件名减去文件夹和扩展名。 <div> <img src="images/body.jpg" usemap="#anatomy"/> </div> <map name="anatomy"> <area id="nose" shape="rect" coords="280,240,330,275" onmouseover="zoom()"/> </map> <script type="text/javascript"> function zoom() { document.getElementById("preview").src="images/nose.jpg"; } </script> <div> <img id="preview"/> </div> 我已经完成了研究,并作为最后的选择来到了Stack Overflow。我更喜欢不涉及jQuery的解决方案。


7
Enter键会触发点击事件吗?
在下面的代码中,removeSelectedCountry()当span元素被单击handleKeyDown($event)时应调用,在上发生keydown事件时应调用div。 @Component({ selector: "wng-country-picker", template: ` <ul class="CountryPicker-selected" *ngIf="selectedCountries.length > 0"> <li *ngFor="let country of selectedCountries"> <span class="Pill Pill--primary" (click)="removeSelectedCountry(country)"> {{ country.name }} </span> </li> </ul> <div (keydown)="handleKeyDown($event)" class="CountryPicker-input"></div> `, providers: [CUSTOM_VALUE_ACCESSOR] }) 但是removeSelectedCountry()每次Enter按键都被调用。 为了使代码正常工作,我不得不将click事件更改为mousedown事件。现在工作正常。 谁能解释为什么Enter键会触发click事件? @Component({ selector: "wng-country-picker", template: ` <ul class="CountryPicker-selected" *ngIf="selectedCountries.length > 0"> <li *ngFor="let country of …

3
如何将事件对象传递给Javascript函数?
<button type="button" value="click me" onclick="check_me();" /> function check_me() { //event.preventDefault(); var hello = document.myForm.username.value; var err = ''; if(hello == '' || hello == null) { err = 'User name required'; } if(err != '') { alert(err); $('username').focus(); return false; } else { return true; } } 在Firefox中,当我尝试提交一个空值时,它将引发错误并将焦点重新设置为element。但是在IE中不会发生同样的事情,因为它会引发错误,并且单击“确定”并发布表单后(返回true)。 我如何避免这种情况?我当时想避免使用event.preventDefault(),但是我不确定如何使用此方法来执行此操作。我尝试通过checkme(event)..但是没有用。我正在使用原型js。 (我知道如何在Java语言中绑定.click函数时传递事件,而不是onclick使用Jquery在html …

5
寻找jQuery事件类型的完整列表
我在哪里可以找到所有的jQuery支持的事件(如的完整列表click,mouseup与一些说明等),它们被触发时?我正在寻找可以绑定的那些: $('#foo').bind('click', handler); 例如,我只是偶然发现了paste事件,但在他们的文档中的任何地方都找不到任何引用。那里还有什么?

16
检测是否正在播放HTML5视频元素
我已经浏览了几个问题,以确定是否正在播放HTML5元素,但找不到答案。我看过W3文档,它有一个名为“播放”的事件,但是我似乎无法使其正常工作。 这是我当前的代码: var stream = document.getElementsByTagName('video'); function pauseStream() { if (stream.playing) { for (var i = 0; i < stream.length; i++) { stream[i].pause(); $("body > header").addClass("paused_note"); $(".paused_note").text("Stream Paused"); $('.paused_note').css("opacity", "1"); } } }



6
在文本突出显示事件?
我很好奇是否有人知道一旦用户完成选择网页上的文本后如何触发函数运行?我希望用户能够选择文本,并且在短暂的延迟后(或立即,此时无所谓),文本附近会出现一个叠加按钮,用户可以单击该按钮,然后我返回并运行我的更多基于选择的代码。这是用于Firefox扩展。 我能想到的一个类似示例就像在IE中一样,您可以在其中选择文本,然后显示“ Web加速器”。我99%的确定我知道我将如何实际叠加按钮,并获取所选文本的位置,但是我不知道如何检查是否有选中的内容,而无需进行某种无限循环,似乎是一个可怕的主意。 编辑: //In my overlay.js with the rest of my sidebar code isTextSelected: function () { var myText = cqsearch.getSelectedText(); var sidebar = document.getElementById("sidebar"); var sidebarDoc = sidebar.contentDocument || document; var curHighlightedDiv = sidebarDoc.getElementById("testDiv"); curHighlightedDiv.innerHTML = "Current text selection:" + myText; } }; //In my on firefox load …

4
用ng-click自动传递$ event?
我知道,ng-click如果$event像这样传递对象,就可以访问click事件: <button ng-click="myFunction($event)">Give me the $event</button> <script> function myFunction (event) { typeof event !== "undefined" // true } </script> $event每次必须显式地通过都会有点烦人。是否可以设置ng-click为默认将其传递给函数?

2
ajax调用后不会触发jQuery事件
jQuery是一个相当奇怪的问题。我正在加载div <div id="container"> 页面加载。每条记录都是表格数据,并带有与之关联的“删除” ajax函数。当页面加载并单击“删除”链接时,ajax调用会触发。但是,一旦触发事件,就会从ajax调用返回数据,并且div中会填充数据(但页面不会刷新或重新加载)。当我再次单击链接时,ajax脚本将不会触发。这是我的代码: $(document).ready(function() { $("button.done").button({ }).click(function() { var BatchID = $("input#BatchID").val(); var Amount = $("input#Amount").val(); var Name = $("input#CheckName").val(); var Check_Number = $("input#Check_Number").val(); var Company = $("select#Company").val(); var Department = $("select#Department").val(); $.ajax({ type: 'GET', url: '/app/usagCheckEntryWS.html', data: { "BatchID" : BatchID, "Amount" : Amount, "Name" : Name, …

11
如何为触摸设备优化网站
在iPhone / iPad / Android等触摸设备上,可能很难用手指按一下小按钮。据我所知,没有跨浏览器的方法可以通过CSS媒体查询来检测触摸设备。因此,我检查浏览器是否支持Javascript触摸事件。到目前为止,其他浏览器尚不支持它们,但是开发人员通道上的最新Google Chrome浏览器启用了触摸事件(即使对于非触摸设备也是如此)。而且我怀疑其他的浏览器制造商也会效仿,因为带有触摸屏的笔记本电脑即将问世。更新:这是Chrome中的错误,因此JavaScript检测现在可以再次使用。 这是我使用的测试: function isTouchDevice() { return "ontouchstart" in window; } 问题在于,这仅测试浏览器是否支持触摸事件,而不支持设备。 有人知道The Correct [tm]为触摸设备提供更好的用户体验的方法吗?除了嗅探用户代理。 Mozilla对触摸设备有媒体查询。但是我没有在其他任何浏览器中看到过类似的东西:https : //developer.mozilla.org/En/CSS/Media_queries#-moz-touch-enabled 更新:我想避免为移动/触摸设备使用单独的页面/站点。该解决方案必须使用对象检测或来自JavaScript的类似检测来检测触摸设备,或者包含自定义的触摸CSS,而无需用户代理嗅探!我问的主要原因是要确保今天无法联系我CSS3工作组。因此,如果您不能遵循问题中的要求,请不要回答;)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.