标签: javascript-events

JavaScript KeyCode值在Internet Explorer 8中是"未定义的"

我遇到了一些我编写的JavaScript问题,但只能使用Internet Explorer 8.我在Internet Explorer 7或更早版本或Mozilla Firefox 3.5或更早版本上执行此操作时没有问题.当我在Internet Explorer 8上使用兼容模式时,它也可以正常执行.

当用户在文本框中输入值时,我正在做的是覆盖Enter键.所以在我的元素上我有这个:

<asp:TextBox ID="ddPassword" runat="server" TextMode="Password" onkeypress="doSubmit(event)" Width="325"></asp:TextBox>
Run Code Online (Sandbox Code Playgroud)

然后我有以下JavaScript方法:

function doSubmit(e)
{
    var keyCode = (window.Event) ? e.which : e.keyCode;
    if (keyCode == 13)
        document.getElementById("ctl00_ContentPlaceHolder1_Login").click();  
}
Run Code Online (Sandbox Code Playgroud)

同样,这一切都适用于几乎所有其他浏览器.Internet Explorer 8只是让我很难过.

非常感谢您提供的任何帮助.谢谢!

更新:感谢大家的快速反馈.Chris Pebble和Bryan Kyle都帮助解决了这个问题.我已经授予布莱恩"答案"以帮助他的声誉.感谢大家!

javascript javascript-events internet-explorer-8

11
推荐指数
2
解决办法
5万
查看次数

使用jquery获取垂直滚动的最大值

这是我的视图代码我使用jquery它工作,我没有任何问题,直到我更改它停止工作的屏幕分辨率.我知道问题在哪里,但我无法解决它看代码:

    @model PNUBOOKIR.Models.ProductModels
@{
    Layout = null;           
}

<!DOCTYPE html>
<html>
<head>

<title>Index</title>
<script src="@Url.Content("~/Scripts/jquery.js")" type="text/javascript"></script>    
<script type="text/javascript">
    var endRun = false;
    var PageNO = 1;
    $(window).scroll(function () {
        if ((($("#container").outerHeight() - 796) == ($(this).scrollTop())) && (!endRun)) {
            endRun = true;
            Load();
        }
    });

    $(document).ready(function () {
        Load();
        return false;
    });

    function Load() {
        var BtnShowMore = document.getElementById("BtnShowMore");
        BtnShowMore.innerHTML = "Loading...";
        $.ajax({ type: "Post",
            url: "Product" + "/" + "GetHomeEventAjax",
            data: "{" + "PageNO" + ":" + PageNO + "}", …
Run Code Online (Sandbox Code Playgroud)

javascript jquery javascript-events

11
推荐指数
2
解决办法
3万
查看次数

如何从视图中捕获关键事件?

我正试图从视图中捕获关键事件,如下所示:

myView = Backbone.View.extend({

  el: $('#someDiv'),
  initialize: function(){
    // initialize some subviews
  },
  render: function(){
    return this;
  },
  events:{
   'keypress #someDiv': 'showKey'
  },
  showKey: function(e){
    console.log(e.keyCode);
  }
})
Run Code Online (Sandbox Code Playgroud)

这不起作用?

ps:视图或其子视图中没有[input]元素.我只需要知道用户是否按下了任何键,然后在视图上执行某些操作.

javascript javascript-events backbone.js

11
推荐指数
2
解决办法
2万
查看次数

JQuery相当于MooTools绑定(这个)

我正在尝试使用此类插件在JQuery中重写Mootools工具提示类.当我的类被实例化时,我将一个事件监听器附加到目标链接,这将淡出工具提示.

在事件回调中,JQuery将关键字"this"分配给事件的目标,因此要保持对我正在使用的类的属性的引用apply()将"this"设置为表示类实例.这显然是Mootools的方便bind()函数的JQuery中的对应物.

不幸的是,当我使用apply()时,我丢失了回调的事件参数.例如,在这一位,我在第二行得到"e is undefined"错误.

this.target.bind('click', function(e){
    e.preventDefault();
    var tip = this.opts.tip;
    tip.fadeOut(500, function(){
        tip.bind('click', function(){
            showing = false;
        })
    });
}.apply(this))
Run Code Online (Sandbox Code Playgroud)

我在这里错过了一招吗?有没有人知道解决这个问题的方法?

谢谢Fred

javascript jquery mootools javascript-events

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

使用javascript添加日期

我想使用javascript将日期添加到给定日期.我有以下代码

function onChange(e) {
    var datepicker = $("#DatePicker").val();
    alert(datepicker);
    var joindate = new Date(datepicker);
    alert(joindate);
    var numberOfDaysToAdd = 1;
    joindate.setDate(joindate + numberOfDaysToAdd);
    var dd = joindate.getDate();
    var mm = joindate.getMonth() + 1;
    var y = joindate.getFullYear();
    var joinFormattedDate = dd + '/' + mm + '/' + y;
    $('.new').val(joinFormattedDate);
}
Run Code Online (Sandbox Code Playgroud)

在第一个警报我得到日期,24/06/2011但在第二个警报我得到Thu Dec 06 2012 00:00:00 GMT+0500 (Pakistan Standard Time)哪个是错的我希望它保持,24/06/2011以便我可以添加天数.在我的代码中,我想要我的最终输出25/06/2011

小提琴是@ http://jsfiddle.net/tassadaque/rEe4v/

javascript jquery date javascript-events

11
推荐指数
3
解决办法
6万
查看次数

在jquery中多次触发window.resize

我在HTML文件中有以下javascript/jquery代码:

<html>
  <head>
    <script src="http://code.jquery.com/jquery-1.6.2.min.js" 
     type="text/javascript"></script>
    <script language="javascript">
    $(window).resize(function(){alert('hi');});</script>
  </head>
  <body>
    resize me
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

它似乎相对直接,但是当我调整浏览器窗口大小时,我在Chrome和IE9上连续两个警报窗口,我看起来崩溃了FF5.

我错过了什么?每个维度(x/y)是一个火吗?

javascript jquery javascript-events

11
推荐指数
2
解决办法
3万
查看次数

如何获取与DOM元素相关的事件?

我有一个HTML文档.
可以使用javascript获取与文档中特定FORM元素中的每个元素相关联的事件.

var element = document.forms[i].elements[j];
Run Code Online (Sandbox Code Playgroud)

这样我就能得到第i个形式的第j个元素,但是我可以得到与元素相关的事件. 表单中可以有任意数量的元素.我使用的是IE 8. 谢谢





编辑:
实际上我试图将HTML DOM序列化为XML.

我做的是:

createXML : function() {

        objSerializeDOM.msg += "";
        objSerializeDOM.msg += "<?xml version='1.0' encoding='UTF-8'?>\n\n";
        // Get all the forms in a document.
        var forms = document.forms;

        for ( var i = 0; i < forms.length; i++) {
            // Get all the elements on per form basis.
            elements = document.forms[i].elements;
            objSerializeDOM.msg += "<FORM name=\"" + forms[i].name + "\" method=\"" …
Run Code Online (Sandbox Code Playgroud)

javascript dom javascript-events

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

在javascript事件中,如何确定已调用stopPropagation()?

如果e.preventDefault()被调用,可以看到反映在e.defaultPrevented方法中.

是否有类似的财产e.stopPropagation()?如果没有,如何确定?

javascript triggers javascript-events

11
推荐指数
2
解决办法
4410
查看次数

在文本框中选择建议项目时的jQuery事件?

我想在用户输入后立即对文本框控件的每次修改运行一个函数.该事件.keyup()对于大多数的情况是好的.

但是,浏览器(如Chrome或Firefox)可能会建议文本框控件的自动完成条目(可能是因为输入控件的@name或@id已知).

不幸的是,当"点击建议的条目"时,我无法触发以下任何事件.(.keyup()在使用键盘选择时触发)

$('input#email')
  .click(function() { console.log('click'); })
  .keyup(function() { console.log('keyup'); })
  .keydown(function() { console.log('keydown'); })
  .change(function() { console.log('change'); })
  .focus(function() { console.log('focus'); })
  .blur(function() { console.log('blur'); });
Run Code Online (Sandbox Code Playgroud)

我想尽可能避免使用setInterval()定期检查.

有没有办法检测到这个"选择建议"事件?

javascript jquery javascript-events

11
推荐指数
2
解决办法
2676
查看次数

jQuery.on()如何工作?

我还没有看到这个函数的来源,但我想知道,它是否像这样工作:

  1. 通过其选择器选择元素
  2. 将提供的事件处理程序委托给他们
  3. setInterval在该选择器上运行并不断取消委托,然后重新委派相同的事件

或者对此有一个纯JavaScript DOM解释?

jquery javascript-events event-delegation jquery-on

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