我如何编写将在URL锚点中的任何更改上执行的JavaScriptcallback代码? 例如从http://example.com#a到http://example.com#b
假设我们有这样的代码: <form action='' method='POST' enctype='multipart/form-data'> <input type='file' name='userFile'><br> <input type='submit' name='upload_btn' value='upload'> </form> 其结果如下: 当用户点击“浏览…”button时,会打开一个文件search对话框: 用户将通过双击文件或单击“打开”button来select文件。 是否有一个Javascript的事件,我可以使用后被通知文件被选中后?
我有一个标准的HTMLinput,当它失去焦点时,我想运行JavaScript代码。 可悲的是我的谷歌search没有透露如何做到这一点。 为了说清楚,我正在寻找一种方法来做到这一点: <input type="text" name="name" value="value" onlosefocus="alert(1);"/>
我有超级查看谁负责渲染子视图 。 当我重新渲染 超级查看 子 视图中的所有事件都丢失了。 这是一个例子: var SubView = Backbone.View.extend({ events: { "click": "click" }, click: function(){ console.log( "click!" ); }, render: function(){ this.$el.html( "click me" ); return this; } }); var Composer = Backbone.View.extend({ initialize: function(){ this.subView = new SubView(); }, render: function(){ this.$el.html( this.subView.render().el ); } }); var composer = new Composer({el: […]
我需要testing事件得到正确发射或广播,并手动触发事件。 什么是最好的方法来做到这一点?
我有一个button,我添加了一些事件列表: document.getElementById("btn").addEventListener("click", funcA, false); document.getElementById("btn").addEventListener("click", funcB, false); document.getElementById("btn").addEventListener("click", funcC, false); document.getElementById("btn").addEventListener("blur" , funcD, false); document.getElementById("btn").addEventListener("focus", funcE, false); <button id="btn">button</button> 我可以删除它们: document.getElementById("btn").removeEventListener("click",funcA); 如果我想要一次删除所有侦听器,或者我没有函数引用( funcA )? 有没有办法做到这一点,或者我必须逐个删除它们?
我正在寻找创build一个表单按下input键导致焦点转到页面上的“下一个”表单元素。 我在网上find的解决scheme是… <body onkeydown="if(event.keyCode==13){event.keyCode=9; return event.keyCode}"> 不幸的是,似乎只能在IE浏览器中工作。 所以这个问题的真正含义是,如果有人知道一个适用于FF和Chrome的解决scheme? 此外,我宁愿不必将onkeydown事件添加到表单元素本身,但如果这是唯一的方法,它将不得不这样做。 这个问题类似于问题905222 ,但在我看来,这是它自己的问题。 编辑:另外,我也看到人们提出这个问题,这是不好的风格,因为它与用户习惯的forms行为不同。 我同意! 这是一个客户端请求:(
我有一个基于execCommand的基本编辑器,下面介绍这个示例。 有三种方法在execCommand区域内粘贴文本: Ctrl + V 右键点击 – >粘贴 右键单击 – >粘贴为纯文本 我想只允许粘贴纯文本而不使用任何HTML标记。 我如何强制前两个动作粘贴纯文本? 可能的解决scheme:我能想到的方式是设置(Ctrl + V)的键盘事件监听器,并粘贴HTML标签。 这是最好的解决scheme吗? 是否防止粘贴任何HTML makup? 如何添加侦听器右键单击 – >粘贴?
我遇到的问题是,当hover该元素的子元素时,会触发元素的dragleave事件。 另外,当再次hover父元素时, dragenter不会被触发。 我做了一个简化小提琴: http : //jsfiddle.net/pimvdb/HU6Mk/1/ 。 HTML: <div id="drag" draggable="true">drag me</div> <hr> <div id="drop"> drop here <p>child</p> parent </div> 使用以下JavaScript: $('#drop').bind({ dragenter: function() { $(this).addClass('red'); }, dragleave: function() { $(this).removeClass('red'); } }); $('#drag').bind({ dragstart: function(e) { e.allowedEffect = "copy"; e.setData("text/plain", "test"); } }); 它应该做的是通过拖动红色的东西通过拖动的东西通知用户。 这是有效的,但是如果你拖到小孩dragleave , dragleave被解雇, div也不会再变红了。 移回放置div也不会使其再次变红。 有必要完全移出放置格,然后再拖回去使其变成红色。 拖入子元素可以防止dragleave被触发吗? 2017更新: TL; […]
以传统方式添加事件侦听器: function getComboA(sel) { var value = sel.options[sel.selectedIndex].value; } <select id="comboA" onchange="getComboA(this)"> <option value="">Select combo</option> <option value="Value1">Text1</option> <option value="Value2">Text2</option> <option value="Value3">Text3</option> </select> 但我想适应addEventListener的方式: productLineSelect.addEventListener('change',getSelection(this),false); function getSelection(sel){ var value = sel.options[sel.selectedIndex].value; alert(value); } 它不起作用,因为我不能在getSelection()中传递任何参数作为addEventListener方法中的第二个参数吗? 据我所知,我只能使用没有括号的函数名称。 任何想法? 顺便说一句,请看看我以前的问题关于console.log不能在safari 6.0开发人员检查工作,我不能写任何输出在控制台,这是令人沮丧的。