Jquery .click()在WordPress插件中不工作
我基本上是在开发一个插件,动态生成表行以在定义的页面上显示内容,在生成时,我希望它在每一行上显示一个按钮,当单击时激活一个Ajax请求,我尝试附加一个ID并执行jQuery onClick来执行此操作,但是它没有显示我的测试Jquery .click()在WordPress插件中不工作,jquery,wordpress,Jquery,Wordpress,我基本上是在开发一个插件,动态生成表行以在定义的页面上显示内容,在生成时,我希望它在每一行上显示一个按钮,当单击时激活一个Ajax请求,我尝试附加一个ID并执行jQuery onClick来执行此操作,但是它没有显示我的测试alert() 下面是我使用的jQuery代码: jQuery(document).ready(function(){ jQuery("#submit").click(function(event) { //Stop the form pr
alert()
下面是我使用的jQuery代码:
jQuery(document).ready(function(){
jQuery("#submit").click(function(event) {
//Stop the form processing
event.preventDefault();
//Get the username value
var Username = jQuery('#username').val();
jQuery.ajax({
type: "GET",
crossDomain: true,
url: apiURL + "video/" + Username + "/views/",
success: function(data) {
Parsed = jQuery.parseJSON(data);
jQuery.each(Parsed.user_media, function(i,v){
jQuery("#results").append("<tr><td><button type='submit' id='addtoPlaylist'>Add to Playlist</button></td></tr>");
});
},
});
});
jQuery("#addtoPlaylist").click(function(event) {
alert('Working!');
});
});
jQuery(文档).ready(函数(){
jQuery(“提交”)。单击(函数(事件){
//停止表单处理
event.preventDefault();
//获取用户名值
var Username=jQuery('#Username').val();
jQuery.ajax({
键入:“获取”,
跨域:是的,
url:apiURL+“视频/”+用户名+“/视图/”,
成功:功能(数据){
Parsed=jQuery.parseJSON(数据);
jQuery.each(已解析的用户\媒体,函数(i,v){
jQuery(“结果”).append(“添加到播放列表”);
});
},
});
});
jQuery(“#addtoPlaylist”)。单击(函数(事件){
警惕(‘工作’);
});
});
一切都工作得很好,比如Ajax调用并返回表行,这只是在我尝试使用时。基于
单击()
,它似乎不会激活控制台,也不会向控制台抛出任何错误。使用jQuery生成元素:
$("#results").on('click','#addtoPlaylist',function(){
alert('clicked');
});
对生成的元素使用jQuery:
$("#results").on('click','#addtoPlaylist',function(){
alert('clicked');
});
试一试
试一试
试试这个
jQuery("#results").on("click", "#addtoPlaylist", function(event) {
alert('Working!');
});
试试这个
jQuery("#results").on("click", "#addtoPlaylist", function(event) {
alert('Working!');
});
发生这种情况是因为您正在添加链接“在文档准备就绪时侦听”。此时您很抱歉,ajax调用尚未启动,并且该元素在页面中不存在。 您必须创建一个单独的函数,并在ajax返回语句中调用它。 请注意,不同的按钮必须具有不同的ID soluiton应该是这样的
jQuery(document).ready(function(){
jQuery("#submit").click(function(event) {
//Stop the form processing
event.preventDefault();
var addtoPlaylist = function(){
alert('Working!');
}
//Get the username value
var Username = jQuery('#username').val();
jQuery.ajax({
type: "GET",
crossDomain: true,
url: apiURL + "video/" + Username + "/views/",
success: function(data) {
Parsed = jQuery.parseJSON(data);
jQuery.each(Parsed.user_media, function(i,v){
jQuery("#results").append("<tr><td><button type='submit' id='addtoPlaylist'>Add to Playlist</button></td></tr>");
jQuery("#addtoPlaylist").click(function(event) {
addtoPlaylist();
});
});
},
});
});
jQuery(文档).ready(函数(){
jQuery(“提交”)。单击(函数(事件){
//停止表单处理
event.preventDefault();
var addtoPlaylist=函数(){
警惕(‘工作’);
}
//获取用户名值
var Username=jQuery('#Username').val();
jQuery.ajax({
键入:“获取”,
跨域:是的,
url:apiURL+“视频/”+用户名+“/视图/”,
成功:功能(数据){
Parsed=jQuery.parseJSON(数据);
jQuery.each(已解析的用户\媒体,函数(i,v){
jQuery(“结果”).append(“添加到播放列表”);
jQuery(“#addtoPlaylist”)。单击(函数(事件){
addtoPlaylist();
});
});
},
});
});
})) 之所以发生这种情况,是因为您在文档就绪时添加了链接侦听。此时您很抱歉,ajax调用尚未启动,并且该元素在页面中不存在。 您必须创建一个单独的函数,并在ajax返回语句中调用它。 请注意,不同的按钮必须具有不同的ID soluiton应该是这样的
jQuery(document).ready(function(){
jQuery("#submit").click(function(event) {
//Stop the form processing
event.preventDefault();
var addtoPlaylist = function(){
alert('Working!');
}
//Get the username value
var Username = jQuery('#username').val();
jQuery.ajax({
type: "GET",
crossDomain: true,
url: apiURL + "video/" + Username + "/views/",
success: function(data) {
Parsed = jQuery.parseJSON(data);
jQuery.each(Parsed.user_media, function(i,v){
jQuery("#results").append("<tr><td><button type='submit' id='addtoPlaylist'>Add to Playlist</button></td></tr>");
jQuery("#addtoPlaylist").click(function(event) {
addtoPlaylist();
});
});
},
});
});
jQuery(文档).ready(函数(){
jQuery(“提交”)。单击(函数(事件){
//停止表单处理
event.preventDefault();
var addtoPlaylist=函数(){
警惕(‘工作’);
}
//获取用户名值
var Username=jQuery('#Username').val();
jQuery.ajax({
键入:“获取”,
跨域:是的,
url:apiURL+“视频/”+用户名+“/视图/”,
成功:功能(数据){
Parsed=jQuery.parseJSON(数据);
jQuery.each(已解析的用户\媒体,函数(i,v){
jQuery(“结果”).append(“添加到播放列表”);
jQuery(“#addtoPlaylist”)。单击(函数(事件){
addtoPlaylist();
});
});
},
});
});
})) 我更喜欢在将来的元素上使用jQuery.delegate
jQuery("body").delegate("#addtoPlaylist","click",function () {
alert("delegate works fine!");
})
我更喜欢在将来的元素上使用jQuery.delegate
jQuery("body").delegate("#addtoPlaylist","click",function () {
alert("delegate works fine!");
})
我建议不要使用委托事件处理程序,而是使用jQuery以正确的方式创建元素:
jQuery(document).ready(function($){
$("#submit").closest('form').on('submit', function(event) {
event.preventDefault();
var Username = $('#username').val();
$.ajax({
type: "GET",
crossDomain: true,
url: apiURL + "video/" + Username + "/views/"
}).done(function(data) {
var Parsed = $.parseJSON(data);
$.each(Parsed.user_media, function(i,v){
var tr = $('<tr />'),
td = $('<td />'),
btn = $('<button />', {type:'submit',
id :'addtoPlaylist',
text:'Add to Playlis',
on:{
click: function() {
alert('Working');
}
}
});
$("#results").append( tr.append(tr.append(button)) );
});
});
});
});
jQuery(文档).ready(函数($){
$(“#提交”)。最近('form')。在('submit',函数(事件){
event.preventDefault();
var Username=$('#Username').val();
$.ajax({
键入:“获取”,
跨域:是的,
url:apiURL+“视频/”+用户名+“/views/”
}).完成(功能(数据){
var Parsed=$.parseJSON(数据);
$.each(已解析的用户\媒体、函数(i、v){
var tr=$(''),
td=$(''),
btn=$('',{类型:'submit',
id:'addtoPlaylist',
文本:“添加到Playlis”,
关于:{
单击:函数(){
警报(“工作”);
}
}
});
$(“#结果”).append(tr.append(tr.append(button));
});
});
});
});
请注意,您正在附加具有相同ID的多个元素。我建议不要使用委托事件处理程序,而是使用jQuery以正确的方式创建元素:
jQuery(document).ready(function($){
$("#submit").closest('form').on('submit', function(event) {
event.preventDefault();
var Username = $('#username').val();
$.ajax({
type: "GET",
crossDomain: true,
url: apiURL + "video/" + Username + "/views/"
}).done(function(data) {
var Parsed = $.parseJSON(data);
$.each(Parsed.user_media, function(i,v){
var tr = $('<tr />'),
td = $('<td />'),
btn = $('<button />', {type:'submit',
id :'addtoPlaylist',
text:'Add to Playlis',
on:{
click: function() {
alert('Working');
}
}
});
$("#results").append( tr.append(tr.append(button)) );
});
});
});
});
jQuery(文档).ready(函数($){
$(“#提交”)。最近('form')。在('submit',函数(事件){
event.preventDefault();
var Username=$('#Username').val();
$.ajax({
键入:“获取”,
跨域:是的,
url:apiURL+“视频/”+用户名+“/views/”
}).完成(功能(数据){
var Parsed=$.parseJSON(数据);
$.each(已解析的用户\媒体、函数(i、v){
var tr=$(''),
td=$(''),