添加jquery noconflict后未定义函数addrow
我有jQuery脚本,需要用jquerynoconflict实现,但它似乎破坏了documentready中的函数 jQuery:添加jquery noconflict后未定义函数addrow,jquery,Jquery,我有jQuery脚本,需要用jquerynoconflict实现,但它似乎破坏了documentready中的函数 jQuery: var$j=jQuery.noConflict(); $j(文档).ready(函数(){ var-rowNum=0; 函数addRow(frm){ rowNum++; var row='; $j(“#itemRows”).append(row); } 函数移除器(rnum){ $j('#rowNum'+rnum).remove(); } }); HTML:
var$j=jQuery.noConflict();
$j(文档).ready(函数(){
var-rowNum=0;
函数addRow(frm){
rowNum++;
var row=';
$j(“#itemRows”).append(row);
}
函数移除器(rnum){
$j('#rowNum'+rnum).remove();
}
});
HTML:
JSFIDLE示例:
问题是如何在jquery无冲突文档中使用函数?从
onXYZ
属性处理程序调用的函数必须是全局函数。您的函数不是全局函数,因为它们嵌套在ready
回调中
不要使用onXYZ
属性,而是通过jQuery连接处理程序。在这种情况下,我可能会选择委托处理程序:
var$j=jQuery.noConflict();
$j(文档).ready(函数(){
var-rowNum=0;
//用于添加的直接处理程序(因为您只有
//一个按钮,它已经在那里)
$j(“.add”)。在(“单击”,函数(){
var row=';
$j(“#itemRows”).append(row);
});
//用于删除的委托处理程序(当您添加这些
//(动态)
$j(“#itemRows”)。在(“.click”,“.delete”,function()上{
$j(this).最近('p').remove();
});
});代码>
从onXYZ
属性处理程序调用的函数必须是全局函数。您的函数不是全局函数,因为它们嵌套在ready
回调中
不要使用onXYZ
属性,而是通过jQuery连接处理程序。在这种情况下,我可能会选择委托处理程序:
var$j=jQuery.noConflict();
$j(文档).ready(函数(){
var-rowNum=0;
//用于添加的直接处理程序(因为您只有
//一个按钮,它已经在那里)
$j(“.add”)。在(“单击”,函数(){
var row=';
$j(“#itemRows”).append(row);
});
//用于删除的委托处理程序(当您添加这些
//(动态)
$j(“#itemRows”)。在(“.click”,“.delete”,function()上{
$j(this).最近('p').remove();
});
});代码>
从onXYZ
属性处理程序调用的函数必须是全局函数。您的函数不是全局函数,因为它们嵌套在ready
回调中
不要使用onXYZ
属性,而是通过jQuery连接处理程序。在这种情况下,我可能会选择委托处理程序:
var$j=jQuery.noConflict();
$j(文档).ready(函数(){
var-rowNum=0;
//用于添加的直接处理程序(因为您只有
//一个按钮,它已经在那里)
$j(“.add”)。在(“单击”,函数(){
var row=';
$j(“#itemRows”).append(row);
});
//用于删除的委托处理程序(当您添加这些
//(动态)
$j(“#itemRows”)。在(“.click”,“.delete”,function()上{
$j(this).最近('p').remove();
});
});代码>
从onXYZ
属性处理程序调用的函数必须是全局函数。您的函数不是全局函数,因为它们嵌套在ready
回调中
不要使用onXYZ
属性,而是通过jQuery连接处理程序。在这种情况下,我可能会选择委托处理程序:
var$j=jQuery.noConflict();
$j(文档).ready(函数(){
var-rowNum=0;
//用于添加的直接处理程序(因为您只有
//一个按钮,它已经在那里)
$j(“.add”)。在(“单击”,函数(){
var row=';
$j(“#itemRows”).append(row);
});
//用于删除的委托处理程序(当您添加这些
//(动态)
$j(“#itemRows”)。在(“.click”,“.delete”,function()上{
$j(this).最近('p').remove();
});
});代码>
我得到的错误是类型错误:$j不是函数
我得到的错误是类型错误:$j不是函数
我得到的错误是类型错误:$j不是函数
类型错误:$j不是函数
$j(文档)。就绪(函数($){
在开始时,您仍然可以在ready
函数的闭包(可以命名,顺便说一句)参数中使用$
。@laruiss:实际上,有大约20种方法可以编写上述内容。通过使用$j(document).ready(函数($){
在开始时,您仍然可以在闭包中使用$
ready
函数的参数($){
。@laruiss:事实上,有大约20种方法可以编写上述内容。通过使用$j(document).ready(函数($){
在开始时,您仍然可以在闭包内部使用$
(可以命名为,btw)ready
函数的参数。@laruiss:事实上,有大约20种方法可以编写上述内容。通过使用$j(document).ready(函数($){
在开始时,您仍然可以在闭包内使用$
(可以命名,顺便说一句)ready
函数的参数。@laruiss:实际上,有大约20种方法可以编写上述内容。
var $j = jQuery.noConflict();
$j(document).ready(function () {
var rowNum = 0;
function addRow(frm) {
rowNum++;
var row = '<p id="rowNum' + rowNum + '"><input type="text" name="qty[]" size="4" value=""> <input type="button" value="-" onclick="removeRow(' + rowNum + ');"></p>';
$j('#itemRows').append(row);
}
function removeRow(rnum) {
$j('#rowNum' + rnum).remove();
}
});
<input onclick="addRow(this.form);" type="button" value="Add Row" />