Tag: JavaScript

修改document.location.hash而不滚动页面

我们有几页使用Ajax来加载内容,有几个需要深入链接到一个页面的场合。 而不是链接到“用户”,并告诉人们点击“设置”,这有助于能够将用户链接到user.aspx#设置 为了让人们能够为我们提供正确的部分链接(对于技术支持等),我已经设置了每当单击button时自动修改URL中的哈希值。 当然唯一的问题是,当发生这种情况时,它也滚动页面到这个元素。 有没有办法来禁用这个? 以下是我如何做到这一点。 $(function(){ //This emulates a click on the correct button on page load if(document.location.hash){ $("#buttons li a").removeClass('selected'); s=$(document.location.hash).addClass('selected').attr("href").replace("javascript:",""); eval(s); } //Click a button to change the hash $("#buttons li a").click(function(){ $("#buttons li a").removeClass('selected'); $(this).addClass('selected'); document.location.hash=$(this).attr("id") //return false; }); }); 我本来希望这个return false; 将停止滚动页面 – 但它只是使链接不工作。 所以现在只是注释掉了,所以我可以导航。 有任何想法吗?

如何在一个页面中定义两个angular度的应用程序/模块?

我正在尝试将两个angular度的应用程序/模块添加到一个页面。 在下面的小提琴中,您可以看到,始终只有第一个在html代码中引用的模块才能正常工作,而第二个模块不会被angular度识别。 在这个小提琴中,我们只能执行doSearch2方法,而在这个小提琴中只有doSearch方法才能正常工作。 我正在寻找如何正确放置两个angular度模块到一个页面的方式。

在JavaScript中传递一个数组作为函数参数

我想调用一个数组作为参数: const x = ['p0', 'p1', 'p2']; call_me(x[0], x[1], x[2]); // I don't like it function call_me (param0, param1, param2 ) { // … } 有没有更好的方式将x的内容传递给call_me() ?

testing如果事件处理程序绑定到jQuery中的元素

是否有可能确定一个元素是否有一个点击处理程序,或更改处理程序,或任何types的事件处理程序绑定到它使用jQuery? 此外,是否有可能确定对于给定types的事件有多less点击处理程序(或任何types的事件处理程序),以及事件处理程序中有哪些函数?

Javascript – 如何检测文档是否已经加载(IE 7 / Firefox 3)

我想在文档加载后调用一个函数,但文档可能已经完成,也可能没有完成加载。 如果确实加载了,那么我可以调用这个函数。 如果它没有加载,那么我可以附加一个事件监听器。 我不能添加一个事件侦听器,因为它不会被调用。 那么如何检查文档是否已经加载? 我尝试了下面的代码,但它不完全工作。 有任何想法吗? var body = document.getElementsByTagName('BODY')[0]; // CONDITION DOES NOT WORK if (body && body.readyState == 'loaded') { DoStuffFunction(); } else { // CODE BELOW WORKS if (window.addEventListener) { window.addEventListener('load', DoStuffFunction, false); } else { window.attachEvent('onload', DoStuffFunction); } }

jQuery点击多次触发事件

我正在尝试用Javascript编写一个video扑克游戏作为获取它的基础知识的一种方式,并且遇到了jQuery click事件处理程序多次触发的问题。 他们附在button上进行下注,在游戏中第一手下注(适用于一次),可以正常工作。 但是在下注二手牌时,每次按下投注或投注button时都会触发点击事件两次(所以每次按下投注正确的金额两次)。 总的来说,按下一次下注button后点击事件被触发的次数就是这种模式 – 序列的第i项是从游戏开始时第i只手的下注:1,2,4 ,7,11,16,22,29,37,46,看起来是n(n + 1)/ 2 + 1,因为任何值得的东西 – 我还不够聪明,所以我用OEIS 。 🙂 以下是正在执行的点击事件处理程序的function。 希望这很容易理解(如果没有,请告诉我,我也希望在这方面做得更好): /** The following function keeps track of bet buttons that are pressed, until place button is pressed to place bet. **/ function pushingBetButtons() { $("#money").text("Money left: $" + player.money); // displays money player has left $(".bet").click(function() […]

Rails – 无法findJavaScript运行时?

我在本地机器上使用rails 3.1.0.rc4创build了一个新的Rails项目,但是当我尝试启动服务器时,我得到:无法findJavaScript运行时。 请参阅此处以获取可用运行时的列表。 ( ExecJS::RuntimeUnavailable ) 注意:这不关于Heroku。

通过Javascript获取图像的平均颜色

不知道这是可能的,但希望编写一个脚本,将返回图像的平均hex或rgb值。 我知道它可以在AS中完成,但希望在JavaScript中做到这一点。

ES6类variables的替代品

目前在ES5中,我们中的很多人在框架中使用以下模式来创build类和类variables,这是很舒服的: // ES 5 FrameWork.Class({ variable: 'string', variable2: true, init: function(){ }, addItem: function(){ } }); 在ES6中,你可以在本地创build类,但是没有select类variables: // ES6 class MyClass { const MY_CONST = 'string'; // <– this is not possible in ES6 constructor(){ this.MY_CONST; } } 可悲的是,上面的方法是行不通的,因为类只能包含方法。 我明白,我可以在constructor this.myVar = true …但我不想'垃圾'我的构造函数,特别是当我有一个更大的类20-30 + params。 我想了很多办法来解决这个问题,但是还没有find什么好的方法。 (例如:创build一个ClassConfig处理函数,然后传递一个parameter对象,这个parameter对象和这个类是分开声明的,然后这个处理函数将会附加到这个类上,我也想到了WeakMaps也可以用来进行整合。 你有什么样的想法来处理这种情况?

获取数组中的最后一项

这是我的JavaScript代码到目前为止: var linkElement = document.getElementById("BackButton"); var loc_array = document.location.href.split('/'); var newT = document.createTextNode(unescape(capWords(loc_array[loc_array.length-2]))); linkElement.appendChild(newT); 目前,它从URL中获取数组中的倒数第二项。 不过,我想检查数组中的最后一个项目是“index.html”,如果是这样,抓住倒数第三个项目。