2007年05月03日 星期四 13:37
在list_consumer.html文件中部分内容: {% block jscript %} $(document).ready(function(){ $("#dp_0_mhl").click(function(){ $.get('/personal/premonth/',function(data){ $("#calendar").html(data); }); return false; }); }); (% endblock %) {% block sidebar %}{% endblock %} 另外根据/personal/premonth/地址,触发view function,return 一个template html内容为
« 5 »
« | 4 | » |
2007年05月03日 星期四 15:28
On 5/3/07, 俊杰蔡 <yzcaijunjie在gmail.com> wrote: > 在list_consumer.html文件中部分内容: > > {% block jscript %} > $(document).ready(function(){ > $("#dp_0_mhl").click(function(){ > $.get('/personal/premonth/',function(data){ > $("#calendar").html(data); > }); > return false; > }); > }); > (% endblock %) > > {% block sidebar %} >>>
> « >> 5 > > » > > > > {% endblock %} > > 另外根据/personal/premonth/地址,触发view function,return 一个template > html内容为 >>
> « >> 4 > > » > > > > 这段代码的功能原本意思是想能点击<<就显示前一个月的名称,但发现问题是第一次进入list_consumer.html后,点击<<可以成功显示前一个月的名称,但第二次点击<<就无法在显示,即没有触发到$("#dp_0_mhl").click()事件,但我页面中明明是有id为"dp_0_mhl"的标签。所以我猜想问题原因可能是出在{% > block jscript %}{% endblock %}中的内容, > 这段内容是放在base.html中中,也就是说它只被调用一次,不知道我的分析对不对? > 请问有什么其他方法能解决这样的问题么?最好能用Jquery的ajax技术和Django的template继承结合解决。 > 看到你的处理我想是因为第一次你绑定了事件没有问题,但是当事件执行后,你替换了原来的calendar层,但是原来所绑定的元素全部被替换掉了,所以对象已经不存在的,自象新的内容并没有绑定。因此你的处理要么只修改没有绑定的内容,要么在替换后绑定对新的元素进行绑定。虽然它们的id相同,但是对象已经不是原来的了。 -- I like python! UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad My Blog: http://www.donews.net/limodou
2007年05月03日 星期四 16:01
那么如何进行重新绑定呢?我曾尝试在template html中加入JQuery事件代码,作为data一并传送,但依然没有效果. 在07-5-3,limodou <limodou在gmail.com> 写道: > > On 5/3/07, 俊杰蔡 <yzcaijunjie在gmail.com> wrote: > > 在list_consumer.html文件中部分内容: > > > > {% block jscript %} > > $(document).ready(function(){ > > $("#dp_0_mhl").click(function(){ > > $.get('/personal/premonth/',function(data){ > > $("#calendar").html(data); > > }); > > return false; > > }); > > }); > > (% endblock %) > > > > {% block sidebar %} > >> >> >
> > « > >> > 5 > > > > » > > > > > > > > {% endblock %} > > > > 另外根据/personal/premonth/地址,触发view function,return 一个template > > html内容为 > >> >
> > « > >> > 4 > > > > » > > > > > > > > > 这段代码的功能原本意思是想能点击<<就显示前一个月的名称,但发现问题是第一次进入list_consumer.html后,点击<<可以成功显示前一个月的名称,但第二次点击<<就无法在显示,即没有触发到$("#dp_0_mhl").click()事件,但我页面中明明是有id为"dp_0_mhl"的标签。所以我猜想问题原因可能是出在{% > > block jscript %}{% endblock %}中的内容, > > 这段内容是放在base.html中中,也就是说它只被调用一次,不知道我的分析对不对? > > 请问有什么其他方法能解决这样的问题么?最好能用Jquery的ajax技术和Django的template继承结合解决。 > > > > 看到你的处理我想是因为第一次你绑定了事件没有问题,但是当事件执行后,你替换了原来的calendar层,但是原来所绑定的元素全部被替换掉了,所以对象已经不存在的,自象新的内容并没有绑定。因此你的处理要么只修改没有绑定的内容,要么在替换后绑定对新的元素进行绑定。虽然它们的id相同,但是对象已经不是原来的了。 > > -- > I like python! > UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad > My Blog: http://www.donews.net/limodou > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese -------------- 下一部分 -------------- 一个HTML附件被移除... URL: http://python.cn/pipermail/python-chinese/attachments/20070503/37f6addd/attachment.htm
2007年05月03日 星期四 16:07
On 5/3/07, 俊杰蔡 <yzcaijunjie在gmail.com> wrote: > 那么如何进行重新绑定呢?我曾尝试在template > html中加入JQuery事件代码,作为data一并传送,但依然没有效果. > 在更新内容成功能,重新进行绑定。所以可以把绑定写成一个函数,以便重用。 -- I like python! UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad My Blog: http://www.donews.net/limodou
2007年05月03日 星期四 17:32
¸ÐлlimodouµÄ»Ø¸´¡£ ÎÒÏÖÔÚ²ÉÓú¯Êýµ÷ÓÃÊÇûÓÐÎÊÌâµÄ hello µ«ÔÚtest()·½·¨ÖÐÎÞ·¨Ê¹ÓÃʹÓÃJQuery·½Ê½£º function test(){ $("#test").click(function(){ alert("hello"); }); } ÏñÉÏÃæÕâ¸öд·¨¾Í²»ÐÐ ÔÚ07-5-3£¬limodou <limodou在gmail.com> дµÀ£º > > On 5/3/07, ¿¡½Ü²Ì <yzcaijunjie在gmail.com> wrote: > > ÄÇôÈçºÎ½øÐÐÖØаó¶¨ÄØ£¿ÎÒÔø³¢ÊÔÔÚtemplate > > htmlÖмÓÈëJQueryʼþ´úÂ룬×÷ΪdataÒ»²¢´«ËÍ£¬µ«ÒÀȻûÓÐЧ¹û. > > > ÔÚ¸üÐÂÄÚÈݳɹ¦ÄÜ£¬ÖØнøÐа󶨡£ËùÒÔ¿ÉÒÔ°Ñ°ó¶¨Ð´³ÉÒ»¸öº¯Êý£¬ÒÔ±ãÖØÓᣠ> > -- > I like python! > UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad > My Blog: http://www.donews.net/limodou > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese -------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20070503/123eaaf3/attachment-0001.html
2007年05月03日 星期四 18:11
你第一次点击元素的时候是给元素 重新绑定了onclick事件,之后再点击a才会弹出hello的提示框 On 5/3/07, 俊杰蔡 <yzcaijunjie在gmail.com> wrote: > 感谢limodou的回复。 > 我现在采用函数调用是没有问题的 > > hello > > 但在test()方法中无法使用使用JQuery方式: > > function test(){ > $("#test").click(function(){ > alert("hello"); > }); > } > > 像上面这个写法就不行 > > 在07-5-3,limodou <limodou在gmail.com> 写道: > > On 5/3/07, 俊杰蔡 <yzcaijunjie在gmail.com> wrote: > > > 那么如何进行重新绑定呢?我曾尝试在template > > > html中加入JQuery事件代码,作为data一并传送,但依然没有效果. > > > > > 在更新内容成功能,重新进行绑定。所以可以把绑定写成一个函数,以便重用。 > > > > -- > > I like python! > > UliPad <>: > http://wiki.woodpecker.org.cn/moin/UliPad > > My Blog: http://www.donews.net/limodou > > _______________________________________________ > > python-chinese > > Post: send python-chinese在lists.python.cn > > Subscribe: send subscribe to > python-chinese-request在lists.python.cn > > Unsubscribe: send unsubscribe to > python-chinese-request在lists.python.cn > > Detail Info: > http://python.cn/mailman/listinfo/python-chinese > > > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to > python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to > python-chinese-request在lists.python.cn > Detail Info: > http://python.cn/mailman/listinfo/python-chinese > -- 蔡峰 Cai Feng
2007年05月03日 星期四 18:13
On 5/3/07, 俊杰蔡 <yzcaijunjie在gmail.com> wrote: > 感谢limodou的回复。 > 我现在采用函数调用是没有问题的 采用函数可以是因为它与html是在一起的,当替换内容时,相应的js代码也又执行了一次,所以起作用。而jquery的方式是第一次所绑定的对象随着内容变化已经不再起作用,因此要重新绑定。你需要在更新html内容之后再执行绑定处理才可以。 > > hello > > 但在test()方法中无法使用使用JQuery方式: > > function test(){ > $("#test").click(function(){ > alert("hello"); > }); > } > > 像上面这个写法就不行 > -- I like python! UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad My Blog: http://www.donews.net/limodou
2007年05月03日 星期四 18:17
你填充html代码的时候,页面中原来的dp_0_mhl被替换掉了,也就是说新的dp_0_mhl并没有绑定click事件,你需要重新绑定一下。 {% block jscript %} function click_function(){ $.get('/personal/premonth/',function(data){ $("#calendar").html(data); bind_event(); }); } function bind_event(){ $("#dp_0_mhl").click( click_function(); return false; }); } $(document).ready(function(){ bind_event(); }); (% endblock %) On 5/3/07, 俊杰蔡 <yzcaijunjie在gmail.com> wrote: > 在list_consumer.html文件中部分内容: > > {% block jscript %} > $(document).ready(function(){ > $("#dp_0_mhl").click(function(){ > $.get('/personal/premonth/',function(data){ > $("#calendar").html(data); > }); > return false; > }); > }); > (% endblock %) > > {% block sidebar %} >>>
> « >> 5 > > » > > > > {% endblock %} > > 另外根据/personal/premonth/地址,触发view function,return 一个template > html内容为 >>
> « >> 4 > > » > > > > 这段代码的功能原本意思是想能点击<<就显示前一个月的名称,但发现问题是第一次进入list_consumer.html后,点击<<可以成功显示前一个月的名称,但第二次点击<<就无法在显示,即没有触发到$("#dp_0_mhl").click()事件,但我页面中明明是有id为"dp_0_mhl"的标签。所以我猜想问题原因可能是出在{% > block jscript %}{% endblock %}中的内容, > 这段内容是放在base.html中中,也就是说它只被调用一次,不知道我的分析对不对? > 请问有什么其他方法能解决这样的问题么?最好能用Jquery的ajax技术和Django的template继承结合解决。 > > > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to > python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to > python-chinese-request在lists.python.cn > Detail Info: > http://python.cn/mailman/listinfo/python-chinese > -- 蔡峰 Cai Feng
2007年05月03日 星期四 18:20
On 5/3/07, ljpsfree <caifen1985在gmail.com> wrote: > 你填充html代码的时候,页面中原来的dp_0_mhl被替换掉了,也就是说新的dp_0_mhl并没有绑定click事件,你需要重新绑定一下。 > > {% block jscript %} > function click_function(){ > $.get('/personal/premonth/',function(data){ > $("#calendar").html(data); > bind_event(); > }); > } > function bind_event(){ > $("#dp_0_mhl").click( > click_function(); > return false; > }); > } > $(document).ready(function(){ > bind_event(); > }); > (% endblock %) > > 不错,正解。 -- I like python! UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad My Blog: http://www.donews.net/limodou
2007年05月03日 星期四 18:36
ÄÇô°ó¶¨Ê¼þ¸ÃÈçºÎдÄØ£¿ > function bind_event(){ > $(document).ready(function(){ > $("#dp_0_mhl").click(function(){ > alert("Hello ,bind_event"); > return false; > }); > }); > > } > function bind_event(){ > $("#dp_0_mhl").click(function(){ > alert("Hello ,bind_event"); > return false; > }); > } > ¶¼²»Æð×÷ÓÃÄØ¡£ ÔÚ07-5-3£¬limodou <limodou在gmail.com> дµÀ£º > > On 5/3/07, ljpsfree <caifen1985在gmail.com> wrote: > > ÄãÌî³ähtml´úÂëµÄʱºò£¬Ò³ÃæÖÐÔÀ´µÄdp_0_mhl±»Ìæ»»µôÁË£¬Ò²¾ÍÊÇ˵еÄdp_0_mhl²¢Ã»Óаó¶¨clickʼþ£¬ÄãÐèÒªÖØаó¶¨Ò»Ï¡£ > > > > {% block jscript %} > > function click_function(){ > > $.get('/personal/premonth/',function(data){ > > $("#calendar").html(data); > > bind_event(); > > }); > > } > > function bind_event(){ > > $("#dp_0_mhl").click( > > click_function(); > > return false; > > }); > > } > > $(document).ready(function(){ > > bind_event(); > > }); > > (% endblock %) > > > > > ²»´í£¬Õý½â¡£ > > -- > I like python! > UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad > My Blog: http://www.donews.net/limodou > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese -------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20070503/48879c6d/attachment-0001.html
Zeuux © 2025
京ICP备05028076号