做autocomplete时候出现IE8、9下无法取得监听click事件,找了很多办法,最后把<ul><li>标签改成<table><tr><td>解决问题
代码如下:
function dataToDom(data) {
var num = data.length;
if ((options.maxItemsToShow > 0) && (options.maxItemsToShow < num))
num = options.maxItemsToShow;
var table = document.createElement("table");
// limited results to a max number
for ( var i = 0; i < num; i++) {
var tr = table.insertRow(i);;
var td=tr.insertCell(0);
var row = data[i];
if (!row)
continue;
//var td = document.createElement("td");
if (options.formatItem) {
td.innerHTML = options.formatItem(row, i, num);
td.selectValue = row[0];
} else {
td.innerHTML = row[0];
td.selectValue = row[0];
}
td.style.width="79px";
$(td).hover(function() {
$("td", tr).removeClass("ac_over");
$(this).addClass("ac_over");
active = $("td", tr).indexOf($(this).get(0));
}, function() {
$(this).removeClass("ac_over");
}).click(function(e) {
e.preventDefault();
e.stopPropagation();
selectItem(this);
});
}
return table;
};
相关推荐
【标题】"仿IE7新建标签页"是一个前端开发中的技术实践,主要目的是在非IE7浏览器中模拟出IE7浏览器特有的新建标签页功能。在IE7及其以下版本,浏览器会提供一个直观的方式,允许用户通过点击加号图标来创建新的浏览...
在IE8浏览器中,遇到一个常见的JavaScript或jQuery问题,即点击`<select>`元素内的`<option>`标签时,无法触发任何响应,包括无法将选中的`<option>`值赋值给上方的`<input>`元素。这个问题主要是由于IE8对于`...
在旧版本的Internet Explorer(IE)浏览器中,可以使用`fireEvent`方法来触发事件。例如: ```javascript var obj = document.getElementById("obj"); // 给obj元素绑定一个点击事件 obj.attachEvent('onclick', ...
3. **绑定事件监听函数**:这种方法使用`addEventListener`或`attachEvent`(针对旧版IE)来添加事件监听器。监听器允许更灵活的事件处理,如添加多个事件处理程序,以及选择事件是在捕获阶段还是冒泡阶段处理。例如...
然而,考虑到浏览器的兼容性问题,尤其是对于仍然有一定市场份额的IE9,开发者需要找到合适的解决方案。本篇文章将围绕“一个基于webuploader兼容IE9的VUE上传插件”这一主题,深入探讨如何在Vue项目中实现IE9的文件...
在实现Tab选项卡切换效果时,应考虑性能优化,比如使用事件委托减少事件监听器的数量,或者在不支持CSS3动画的IE浏览器中使用JavaScript进行过渡效果模拟。 通过以上步骤,我们可以在各种IE内核的浏览器上实现Tab...
本教程将深入讲解如何利用jQuery库来实现一个在IE6、IE7以及Firefox浏览器下都能正常工作的左侧树形菜单。jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理和动画效果,使得开发者能够更高效地构建动态...
可以在`ul`元素上添加事件监听器,而不是每个`li`元素: ```javascript let ptclick = document.getElementById('getNum'); let lilist = ptclick.querySelectorAll('li'); for(let i=0; i; i++) { lilist[i]...
在 JavaScript 中,我们可以使用 `addEventListener` 或者 `attachEvent`(对于旧版 IE)来监听鼠标事件。对于右键点击,我们关注的是 `contextmenu` 事件。当用户在页面上右键点击时,这个事件会被触发。 ```...
同时,我们可以监听键盘事件,使用户可以通过左右箭头键进行切换: ```javascript $(document).keydown(function(e) { if (e.keyCode === 37) { // 左箭头 current--; if (current ) current = $("#slider ....
在本文中,我们将深入探讨如何使用jQuery(简称为JQ)来实现一个兼容至IE8的TAB切换登录界面。在Web前端开发中,创建交互式的用户界面是至关重要的,而TAB切换功能则能够提高用户体验,使得用户能够在不同的内容区域...
在IE8等旧版本浏览器中,某些事件如 `submit` 不支持在捕获阶段触发,因此使用事件冒泡更为重要。事件委托在处理大量动态元素或需要优化性能的应用中尤其有用。 总结,jQuery事件是增强用户交互的关键工具,`.on()`...
例如,通过`addEventListener`或`attachEvent`(IE浏览器特有)方法添加事件监听器,这样可以将行为代码分离到JavaScript文件中,提高代码的可读性和可维护性: ```javascript document.getElementById('myButton')...
1. 使用jQuery的`.addClass()`、`.removeClass()`和`.eq()`方法,这些在旧版IE中都得到了支持。 2. CSS3的`transition`属性在IE9及以下版本不支持,但可以通过jQuery的动画功能来模拟过渡效果,虽然这会增加代码...
- 在某些情况下,尤其是IE浏览器中,可能会遇到1px高度的容器无法正确显示的问题。这通常可以通过增加容器的 `overflow` 属性来解决。 4. **Firefox关于DIV高度无法自适应** - Firefox和其他现代浏览器默认情况...
要实现在W3C标准下点击`<li>`显示其index,可以通过给`<ul>`添加事件监听器,获取点击的`<li>`元素,然后计算其在兄弟元素中的位置。示例代码如下: ```html <li>张三</li> <li>李四</li> <li>王五</li> ...
为了使焦点图在古老的IE6789版本以及现代浏览器中都能正常工作,我们需要考虑以下几点: - **jQuery版本**:选择兼容这些老版本IE的jQuery版本,通常是1.x系列。 - **CSS Hack**:针对IE的特定CSS问题,可能需要...
《jQuery电子杂志幻灯片:实现兼容IE6浏览器的高效解决方案》 在互联网技术日新月异的今天,用户体验成为了网站设计的重要考量因素之一。其中,动态、交互式的电子杂志和图片幻灯片功能,为用户提供了一种新颖、...
通过以上介绍,我们可以了解到"js下拉列表效果"这个项目旨在解决低版本IE浏览器下下拉列表的美化问题,通过JavaScript实现了定制化、交互友好的下拉列表,提升了用户在网页中的交互体验。项目的实现涉及到JavaScript...
在JavaScript(JS)开发中,创建一个兼容IE7及以上版本的源生日历悬浮窗口,用于在特定日期上提供提示信息,是一项常见的需求。这样的功能可以增强用户界面的交互性,帮助用户更方便地选择和了解日期。下面将详细...