我有一些代码,我循环遍历页面上的所有选择框,并将.hover事件绑定到它们,以便在它们的宽度上做一些麻烦mouse on/off.
这发生在页面准备就绪并且工作得很好.
我遇到的问题是,我在初始循环后通过Ajax或DOM添加的任何选择框都不会受到事件限制.
我找到了这个插件(jQuery Live Query Plugin),但在我用插件添加另外5k到我的页面之前,我想知道是否有人知道这样做的方法,无论是直接使用jQuery还是通过其他选项.
我最近将jQuery从1.8升级到2.1.我突然发现.live()停止工作.
我收到了错误TypeError: $(...).live is not a function.
有什么方法可以用来代替.live()吗?
所以现在,我理解为了将事件监听器附加到动态添加的元素,您必须在添加元素后重新定义监听器.有没有办法绕过这个,所以你不必执行一整个额外的代码块?
如果您在桌面上尝试此代码段,一切正常.
每当你在iPad上试用它时,它都不会做任何事情.
$('body').on('click', '#click', function() {
alert("This alert won't work on iPad");
});Run Code Online (Sandbox Code Playgroud)
div {
font-size: 24px;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="click">Click here</div>Run Code Online (Sandbox Code Playgroud)
简单的.click()处理程序工作,但它不是我想要的.这同样适用于.delegate();和.live()
这是一个bug还是什么?
我有功能:
$(document).ready(function(){
$("input.myclass").focus(function() {
// something
}).blur(function() {
// something
});
}
Run Code Online (Sandbox Code Playgroud)
和HTML:
<div class="usil">
<div class="editable">
<form>
<input type="text" class="myclass" />
</form>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
在加载页面jquery上"myclass"元素工作正常,但其他脚本动态添加"usil"类divs并在此divs jquery不工作.怎么做?
我有一个这样的听众:
$('.delete').click(function() {
...some stuff
});
Run Code Online (Sandbox Code Playgroud)
此外,在同一页面上,另一个脚本以这种方式动态地向DOM添加元素:
$('#list').append('<tr><td><a class="delete" href="#">delete</a></td></tr>');
Run Code Online (Sandbox Code Playgroud)
我的问题是监听器不"监听"这些动态创建的元素.
请问有人可以解决一些问题吗?
我试图通过我在jQuery中添加到它的类名来定位元素.如果我添加一个新元素,这似乎工作正常,但我无法将新事件绑定到已经在DOM中的元素,但已被更改.
我究竟做错了什么?
$(document).ready(function(){
$(".activateRow").on("click",function(){
$(this).text('Deactivate').addClass('deactivateRow btn-danger').removeClass('activateRow btn-success');
$(this).parent().parent().removeClass('inactiveRow');
});
$(".deactivateRow").on("click",function(){
$(this).text('Activate').removeClass('deactivateRow btn-danger').addClass('activateRow btn-success');
$(this).parent().parent().addClass('inactiveRow');
});
})
Run Code Online (Sandbox Code Playgroud) 我正在使用jQuery编写一个应用程序,当单击一个按钮时,会生成一个选择框并附加到一行.每当选择更改时,它应该触发更改事件,但使用.on("change", function() {});不起作用:
码:
<!DOCTYPE html>
<html>
<head>
<title>HTML5-Template</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style type="text/css">
html, body
{
}
input,select {
border: 1px solid #404048;
padding: 4px;
}
</style>
<script type="text/javascript" src="../JavaScript/JQuery/jquery-1.9.1.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#cmdCreateRow").click(function() {
var row = $("<div />")
.css("font", "normal 12px Verdana")
.css("padding", "8px")
.css("display", "inline-block")
.css("background", "#F0F0F8")
.css("border", "1px solid #A0A0A8")
.css("margin", "2px");
var types = [
"Local",
"Remote",
"(Custom)"
];
var type = $("<select />").attr("class", "member-type");
for(var i in types) { …Run Code Online (Sandbox Code Playgroud) 我在使用javascript生成的内容上使用jquery选择器选择元素时遇到问题.
对于这一代,我使用以下功能:
var articles = [
{
img: { src: this.base_url + 'assets/img/frontend/placeholder.png', alt: 'Image Description' },
title : 'Title Here',
text: 'Lorem ipsum dolor sit amet, consectetur adispiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet ' +
'dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci.'
},
{
img: { src: this.base_url + 'assets/img/frontend/placeholder.png', alt: 'Image Description' },
title : 'Title Here',
text: 'Lorem ipsum dolor sit amet, consectetur adispiscing elit, sed …Run Code Online (Sandbox Code Playgroud) 我刚刚开始在jquery和AJAX中工作,而且大多数情况下我似乎已经掌握了它,但这一小段代码无效.
我有一个显示文章摘要的页面.当您单击文章名称时,将显示一个弹出窗口,并显示文章信息以及右上角的X图标,该图标将关闭文章窗口.
我正在通过AJAX处理表单处理,效果很好.弹出窗口,显示所有正确的信息.我遇到的问题是关闭按钮功能.
单击关闭按钮时,没有任何反应.我拥有的jquery似乎没有回应.如果我只使用纯jquery/css,则会出现窗口并关闭按钮.如果我使用HTML/PHP处理表单,它会显示窗口并关闭按钮.
只有当我通过AJAX处理呼叫时,关闭按钮才会响应,我不知道为什么会这样.
这是关闭按钮的简单jquery代码:
$('.newsClose').click(function(){
$('#newsWindow').hide();
});
Run Code Online (Sandbox Code Playgroud)
这是AJAX调用:
$(document).ready(function() {
$('#agentNewsForm').submit(function(e) {
e.preventDefault();
$.ajax({
type : 'POST',
data : $('#agentNewsForm').serialize(),
url : '/search/customer/agentNewsView.inc.php',
beforeSend : function() {
$('#processing').show();
},
error : function() {
$('#processing').hide();
$('#ajaxFormError').show();
},
// success callback
success : function (response) {
$('#processing').hide();
$('#newsWindow').html(response).show();
},
complete : function() {
$('#processing').hide();
},
timeout : 3000,
});
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
我确信这是一件非常简单的事情.有什么想法吗?
jquery ×10
javascript ×6
events ×3
html ×2
ajax ×1
click ×1
delegation ×1
deprecated ×1
dom ×1
dynamic ×1
function ×1
ipad ×1
listener ×1
live ×1
php ×1