我在尝试从编辑Wordpress页面时使用的排队javascript文件中调用Javascript函数时遇到问题。我用一些AJAX超链接创建了一个简单的meta框, 希望能够从Javascript文件中调用函数(很简单, 但是我一直收到错误消息”
blah(1)not defined”
)。
METABOX中包含的HTML:
<
a href="http://www.srcmini.com/#" class="delete_pimg" id="pimg_1" onclick="blah(1);
return false;
">
Delete Item<
/a>
JS:
function blah(theid){if ( confirm("Are you sure you wish to remove this image (Note: Images are not removed from the Media Library)?") ) {var data = http://www.srcmini.com/{
action:'myajax-delete', imgid: theid
};
jQuery.post(ajaxurl, data, function(response) {//Parse the JSON Object
var object = jQuery.parseJSON(response);
if ( response.status == 'true' )
{
jQuery('#file_' + theid + '_row').remove();
//remove TR
alert('Image removed from this portfolio');
}else{
alert('Sorry, that image could not removed right now, please reload the page and try again.');
}});
注意:PHP服务器端代码可以正常工作, 并且完全可以按照我的手册要求进行响应。 javascript文件肯定存在, 并且已按预期由浏览器下载。
如果我在下面使用下面的代码行, 则AJAX可以工作(因此我知道JS可以), 但是我需要能够按名称调用该函数, 而不是使用选择器。我非常想知道为什么我不能调用一个简单的函数!!!
jQuery('.delete_pimg').click(function() { ^Above code^ }
只是为了重新概括单击链接时出现的错误:” 未定义blah(1)”
我希望我已经清楚地说明了这一点-如果没有, 请给我大声喊叫:)
#1好的, 基本上-我无法使它正常工作。我的JavaScript绝对不错, 因此为了调用自己的函数, 我在页面本身内声明了它们, 而不是在JS文件中进行了声明。这似乎可行, 并且我的代码立即执行, 没有错误。
即
<
script type="text/javascript">
function blah(id){alert("This Works Nicely!");
}<
/script>
解决问题, 但至少解决了我的问题。
擦拭额头上的汗水
#2我在未定义blah()时遇到了同样的问题, 发现我需要让排队的js文件只定义函数, 而不是用jQuery(document)包装.ready(function($){function blah( param){[… ]}})。
这是我的代码现在的样子, 这一切对我来说都很有效:
【WordPress Admin-函数未定义()】(我的文件中的简短摘要)
function blah_init() {
# Want this on all pages
# Queue JS and CSS
wp_enqueue_script(
'blah-file', // handle
get_template_directory_uri() . '/assets/js/blah-file.js', // source
array('jquery'), // registered script handles this script depends on
'1.0', // version
true // true = in footer, false (or blank) = in <
head>
);
}
add_action('wp_enqueue_scripts', 'blah_init');
(这是文件的完整内容)
//jQuery(document).ready(function($) {
function blah(param) {
console.log('Blah triggered: ', param);
}
//})
(我输出一些链接(例如社交链接)的简短代码段)
<
!-- Ignore the href, this has nothing to do with getting this to work -->
<
a href="javascript:;
" onclick="blah("facebook")">
Facebook<
/a>
推荐阅读
- Docker基础(Docker入门#私藏项目实操分享#)
- WordPress add_rewrite_rule不返回$matches[]数组项
- WordPress(添加自定义HTML文件)
- WordPress-add_filter vs apply_filters vs add_action vs do_action
- wordpress在帖子标题下方添加特色图片
- WordPress(在TinyMCE iframe中添加事件)
- wordpress add_action(‘save_post’,’my_function)不起作用
- wordpress 3.8.1类别页面2错误404未找到/自定义帖子类型
- WordPress(从小部件代码访问数据库)