我遇到了一些我编写的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都帮助解决了这个问题.我已经授予布莱恩"答案"以帮助他的声誉.感谢大家!
我试图在我使用DataTables.Net插件包装的网格上使用委托方法.我最初有这个代码按预期工作.
$("#myGrid tbody tr").click(function() {
var id = $(this).children('td').eq(0).text();
alert(id);
});
Run Code Online (Sandbox Code Playgroud)
但是,如果我更改分页大小,则较新的行没有调用该函数的click事件.我决定新的JQuery委托方法应该完全符合我的要求; 但是,它对任何tr元素都没有任何作用.
任何人都可以解释为什么这不起作用:
$('#myGrid tbody').delegate('tr', 'click', function() {
var id = $(this).children('td').eq(0).text();
alert(id);
});
Run Code Online (Sandbox Code Playgroud)
我尝试了选择器的不同组合,没有一个让它工作.
谢谢Paul Speranza
这是我的视图代码我使用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将日期添加到给定日期.我有以下代码
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
如果 $(this).val()有反斜杠,请用jQuery删除反斜杠.如何?
1111\/11\/11- >1111/11/11
我想在用户输入后立即对文本框控件的每次修改运行一个函数.该事件.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()定期检查.
有没有办法检测到这个"选择建议"事件?
我还没有看到这个函数的来源,但我想知道,它是否像这样工作:
setInterval在该选择器上运行并不断取消委托,然后重新委派相同的事件或者对此有一个纯JavaScript DOM解释?
我在这里有以下代码:
$('input[type="checkbox"][id="gridlines"]').change(function () {
alert('hello world');
});
$('#gridlines').prop('checked', true);
Run Code Online (Sandbox Code Playgroud)
当我加载页面时,选中复选框,但不会提示"hello world"
但是,当我手动单击复选框时,会出现"hello world"
是什么赋予了?
...不限制iframe内的滚动或需要专门命名/标记所有可滚动元素.
想象一下嵌入在父页面中的谷歌地图小部件.放大窗口小部件时,显然不希望父页面滚动.
我以为我前一个问题的答案解决了这个问题:
在iframe内滚动时,身体对那里发生的事情一无所知.但是当iframe卷轴到达底部或顶部时,它会滚动到正文.
取消从iframe传播的事件.
但该解决方案在Firefox中不起作用,因为Firefox不会 - 按设计 - 将iframe捕获的事件传播到父页面,但奇怪的是它会滚动父页面.在这里看到jsfiddle.
$('body').bind('mousewheel DOMMouseScroll', onWheel);
function onWheel (e){
if (e.target === iframe)
e.preventDefault();
console.log(e);
}
Run Code Online (Sandbox Code Playgroud)
那么,当用户在Firefox中缩放嵌入式iframe中的内容时,如何防止页面滚动?
有没有办法确认revmoveEventListener是否成功?我正在视频元素上使用它进行"播放"/"暂停"事件.我试图实现的行为似乎不一致.这是我如何使用它的一个例子.
var playListener = function(){
console.log("video is playing")
}
videoElement.addEventListener("playing", playListener)
Run Code Online (Sandbox Code Playgroud)
在我的代码中的其他地方
videoElement.removeEventListener("playing", playListener)
Run Code Online (Sandbox Code Playgroud)
playListener可用于我正在使用removeEventListener并且我传递视频元素的id所以它与我添加事件监听器的视频元素相同.
我想知道我是否可以使用某种console.log或确认removeEventListener工作的东西.