标签: javascript-events

jQuery选择器帮助

我有以下HTML

<ul class="main-navigation">
  <li class="left">&nbsp;</li>
  <li class="normal">Home</li>
  <li class="normal">Internet</li>
  <li class="normal">Movies</li>
  <li class="normal">Music</li>
  <li class="normal">Documents</li>
  <li class="normal">Windows</li>
  <li class="right">&nbsp;</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我想要做的是,获取<li>具有"普通"类的元素数组并循环遍历它们并添加事件侦听器.

什么jQuery代码将返回数组?我试过不同的组合,比如 -

$('.main-navigation.normal')
$('.main-navigation li .normal')
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得那个节点数组?我如何循环它们并添加事件?

html javascript css jquery javascript-events

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

我应该在我的网络应用中使用哪种类型的点击?

背景: 我们正在开发一个包含图表的Web应用程序.目前,可以左键单击图表点以缩放/深入查看数据的该部分.我们正在添加一些其他功能,允许用户将元数据添加到数据点.我知道用户将专门使用Mozilla,尽管我回避限制单个浏览器的任何事情.请不要js库.

问题: 我应该使用什么类型的"点击"将元数据添加到已经左键单击的元素(超链接)?

我头脑风暴的一些选择:

  • 捕获右键单击的oncontext菜单(这对我来说是对的)
  • 双击
  • 按住Ctrl键
  • 左键单击打开一个上下文菜单,该菜单具有现有的左键单击功能和新功能

这些是否有任何约定?你觉得最直观的是什么?

javascript-events mouseclick-event

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

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

document.ready什么时候运行,什么时候内联JS被处理?

我有一个页面,我在该<head>部分导入我的大部分js .但是,主页面有一些内联javascript.

在我导入的一个脚本中<head>,我$(document).ready...使用了一些内联在页面上定义的JS变量.据我所知,这正如我所期望的那样 - $(document).ready使用内联定义的JS变量不会遇到任何错误.

但是,我从用户那里得到了一些报告,他们在我的代码中看到了"未定义"错误$(document).ready,我引用了页面内联定义的变量.

我怀疑这是浏览器特定的行为,但我不确定.我没有在文档中明确地发现这一点,所以有人可以确认$(document).ready在JS中从一个页面中使用内联定义的变量是可以的<head>吗?

引用您的来源会使您的答案更可信.:)

谢谢!

javascript jquery javascript-events

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

在Firefox中更改window.location.href以响应onunload事件

我使用window.location.href有一个奇怪的JavaScript问题,它显然只影响Firefox(我使用的是3.6).

通常window.location.href不是只读的,这在FF中完美运行:

window.location.href = "http://google.com/";
Run Code Online (Sandbox Code Playgroud)

但是,当我调用函数来响应onunload事件()时,这不能按预期工作:

function testThis() {
    alert ("1: " + window.location.href);
    window.location.href = "http://google.com/";
    alert ("2: " + window.location.href);
    return false;
}
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,警报都会在FF中显示页面的当前位置,而不进行更改.没有JavaScript错误,onunload事件成功调用该函数,因此问题似乎是编辑或替换window.location.href的值.

我尝试过使用window.location,document.location.href,甚至尝试更改window.location.search.事件(特别是onunload事件)是否可能导致window.location.href变为只读?

javascript firefox javascript-events window.location

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

如何使用Raphael和jQuery检测IE上的点击或鼠标按下

可能重复:
Raphaeljs和Internet Explorer,单击元素时出现问题

当鼠标点击Raphael JS生成的一些文本时,我正试图找到触发事件的方法.在Firefox中,点击事件完美地运行,在IE 7和8中(我没有测试过早期版本)既没有点击也没有mousedown工作.单击适用于其他raphael对象,例如示例中的矩形.

如何在以下演示中给出的文本上触发事件:

<html>
    <head>
        <script type="text/javascript" src="http://github.com/DmitryBaranovskiy/raphael/blob/master/raphael-min.js?raw=true"></script>
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
    </head>
    <body>

    <div id="graph"></div>

    <script language="javascript">
        function setupImage() {
            var canvas = Raphael(graph, 200, 200);

            var alpha = canvas.text(100, 10, "Two Words");
            alpha.attr("font-size", "20px");

            var beta = canvas.rect(50, 50, 50, 50);
            beta.attr("fill", "#3333cc");

            canvas.safari();

            var textClickEvent = function(event) {
                alert("text clicked");
            };

            var boxClickEvent = function(event) {
                alert("box clicked");
            }; 

            $(alpha.node).click(textClickEvent);
            $(beta.node).click(boxClickEvent);
        }

        $(window).load(setupImage);
    </script>

    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我的直觉是我可能不得不尝试操纵DOM来包装文本,例如,A元素并在其上绑定.这似乎不是最干净的解决方案,所以我在这里询问是否有人有另一种方法.

javascript jquery internet-explorer javascript-events raphael

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

如何创建随机方法名称

我计划使用JSONP调用外部Web服务来解决这个事实,即我不想创建一个可能与调用页面冲突的全局函数.我认为创建一个随机函数名称并将其传递起来会起作用.像这样的东西:

<script src="www.foo.com/b?cb=d357534">
Run Code Online (Sandbox Code Playgroud)

其中cb是回调函数名称,服务器将返回

d357534({my json data});
Run Code Online (Sandbox Code Playgroud)

我想知道的是如何创建随机函数名称,我确定我可以使用,eval但这是最好的方法吗?

基本上,我想要做的是这样的:

var d + Math.floor(Math.random()*1000001) = function(){...   
Run Code Online (Sandbox Code Playgroud)

javascript json jsonp unobtrusive-javascript javascript-events

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

更改<img rel="nofollow noreferrer" src ="XXX"/>,新图像加载完成后的js事件?

我有一个照片库网页,其中单个<img src="XXX" />元素的src更改(点击)用javascript来显示下一个图像 - 我猜是一个穷人的ajax.当新图像几乎立即出现时,在更快的连接上工作得很好.即使加载需要几秒钟,我测试过的每个浏览器都会保留旧图像,直到新图像完全加载为止.

然而,在慢速连接上等待那几秒钟会有点混乱,我想知道是否有一些javascript事件在新图像加载完成时会触发,允许我放一点工作......动画gif或者其他什么东西同时.

我知道我可以使用AJAX(我已经使用了jQuery),但这是一个非常简单的解决方案.除了这种滞后,还有什么其他原因我应该远离这种改变图像的方法吗?

谢谢.

html javascript jquery javascript-events

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

预览html页面而不打开它

单击图像如何在不打开实际页面的情况下在同一页面中预览另一页面.并且让我们说网址/home/home.php?id=3
预览应该在预览div中

 <img src="/home/app/img/toggle.gif" onlclick="show();" />
 <div id="preview"></div>   
Run Code Online (Sandbox Code Playgroud)

谢谢..

html javascript css jquery javascript-events

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

为什么javascript IF只能运行一次?

我有javascript代码,它复制输入文件的值,并在文本框中实时传递.

<script>
function copyit(){

var thephoto=document.getElementById('thephoto').value;
var fileonchange=document.getElementById('fileonchange').value;

if(!thephoto==fileonchange){
document.getElementById('fileonchange').value=thephoto;
}

}

window.setInterval("copyit()", 500);  
</script>

Choose File : <input type="file" id="thephoto"><br>
Here Is the file name : <input type="text" id="fileonchange">
Run Code Online (Sandbox Code Playgroud)

遗憾的是,这只能工作一次,然后在再次更改文件时停止粘贴值.(我的意思是你应该重新加载页面再次工作)

是IF有缓存的东西?你可以自己试试看代码.

谢谢你们

javascript javascript-events

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