草庐IT

html-object

全部标签

javascript - 检测 HTML select 元素是否展开(无需手动跟踪状态)

我想检测下拉列表是否展开。我不想为单击/鼠标悬停等使用额外的事件处理程序,因为下拉菜单是动态的,并且由于其他原因我不能使用jQuerylive之类的东西。基本上我想要一些可以给任意select元素(没有其他附加的事件处理程序、类等)的东西,可以给出是否扩展的真/假答案。对于我的特定应用程序,我正在处理鼠标滚轮事件,但不想在下拉菜单打开时处理它们(这会覆盖浏览器的默认功能)。但是,当鼠标悬停在select上但没有打开它时,我仍然想处理鼠标滚轮事件。 最佳答案 出于类似的原因,我之前调查过这个问题。除了尝试手动跟踪它之外,我永远找不到解

设置原型(prototype)时Javascript继承: calling Object.创建

我正在学习面向对象的Javascript的某些方面。我遇到了这个片段varPerson=function(firstName,lastName){this.lastName=lastName;this.firstName=firstName;};Object.defineProperties(Person.prototype,{sayHi:{value:function(){return"Himynameis"+this.firstName;}},fullName:{get:function(){returnthis.firstName+""+this.lastName;}}});va

javascript-objects - 如何在javascript的函数钩子(Hook)中访问全局变量?

我想在下面的钩子(Hook)函数中使用全局变量'x'。varx=10;//globalvariablevaroldA=a;a=functiona(param){alert(x);//showingerror:xisundefinedreturnoldA(param);}如何解决错误? 最佳答案 您的代码对我来说工作正常,但您可能希望通过使用window.x将x显式解析为全局变量。如果不在浏览器环境中,或者全局对象未被称为window的环境中,请尝试:(window||root||global||GLOBAL||this||self|

javascript - 使用javascript连接html对象数组

我正在尝试合并两个由html对象组成的数组。出于某种原因,使用.concat()对我不起作用。这里有一个简单的笔来演示这个问题:http://codepen.io/anon/pen/kIeyB注意:我尝试搜索一些类似的东西,但没有找到任何可以回答我问题的东西。我认为您可以使用for循环以最时尚的方式做到这一点,但我不想重新发明轮子。varx=document.getElementById("hello");varitems=x.getElementsByClassName("one");//alert(items.length);varitems2=x.getElementsByCla

javascript - Object.create(null) 的用例?

如果您使用varobj={};创建一个常规的javascript对象,它将具有对象原型(prototype)。使用varobj=newMyClass();创建的对象也是如此在引入Object.create之前,没有办法解决这个问题。然而,现在可以使用varobj=Object.create(null);创建一个没有原型(prototype)的对象(相应的null作为其原型(prototype))。为什么这很重要?它带来了哪些优势?有任何现实世界的用例吗? 最佳答案 它是一个完全空的对象(没有从任何.prototype继承,包括Obj

javascript - Rails3 使用 text/html 内容类型而不是 text/javascript 呈现 js.erb 模板

我正在使用3.0.0.beta3构建一个新应用。我只是尝试将js.erb模板呈现给Ajax请求以执行以下操作(在publications_controller.rb中):defget_pubmed_dataentry=Bio::PubMed.query(params[:pmid])#searchesPubMedandgetentry@publication=Bio::MEDLINE.new(entry)#createsBio::MEDLINEobjectfromentrytextflash[:warning]="Nopublicationfound."if@publication.ti

javascript - 为什么 `typeof this` 返回 "object"?

varf=function(o){returnthis+":"+o+"::"+(typeofthis)+":"+(typeofo)};f.call("2","2");//"2:2::object:string"varf=function(o){returnthis+":"+(typeofthis)+":"+(typeofo);};varx=[1,/foo/,"bar",function(){},true,[],{}];for(vari=0;i我在Chrome、Firefox和Safari中看到相同的结果,所以我假设它符合thespec,但为什么?这在规范中的何处定义?为什么不是函数?

javascript - IE8上 "typeerror object doesn' t支持这个属性或方法的一般解决方案是什么?

我看到了几个关于这个问题的具体问题-在IE8中获取typeerrorobjectdoesn'tsupportthispropertyormethod,每个问题都有其具体的答案。假设我有一个包含大量代码的大型网站......我不知道是什么特定片段导致了这个错误。有没有通用的调试方法?我试过使用IE开发人员工具,它不会因错误而中断。这是由不正确的javascript语法引起的吗?我应该尝试像jslint这样的东西吗?识别和处理此问题的正确、通用方法是什么? 最佳答案 好吧,所以我转向了古老的解决方案并开始从我的项目中删除大量代码,直到问

javascript - 1.9.1 与 1.8.3 中的 Angular.js/jQuery html 字符串解析

尝试执行angular.element(stringWithHtmlStructure);会导致Error:Syntaxerror,unrecognizedexpression:bar在jquery1.9.1中,但是它在jquery1.8.3中有效这是一个问题还是一个功能?也许是安全的?我该如何处理?1.8.3示例http://plnkr.co/edit/ZYYKIixcYzOL46hq0puS?p=preview1.9.1例子http://plnkr.co/edit/ETmQMY8KoCP0gaKdSrMD?p=preview这绝对不是任何Angular问题,做$(stringWit

javascript - react : Where To Extend Object Prototype

我使用create-react-app创建了一个纯React应用程序.我想扩展String类并在一个或多个组件中使用它。例如:String.prototype.someFunction=function(){//somecode}(您可能想查看thisquestion以了解有关扩展对象原型(prototype)的更多信息。)是的,我可以在组件旁边定义它并在其中使用它。但是最好和最干净的方法是什么?我应该把它写成classmethod或在componentDidMount内或者是其他东西?编辑:在React(或JavaScript)中扩展对象原型(prototype)甚至“可以”吗?