Почему $ (это) не работает внутри функции javascript?

Я прикрепил событие onlick к функции. Я хочу сослаться на элемент, который нажимается изнутри функции, чтобы я мог изменить его внутренний HTML, но почему он не работает? Существует ли какой-либо другой способ ссылки на нажатый элемент?

HTML

        <div class="save_button" onclick="toggle_save_star(<?php echo $listing->listing_id ?>,'<?php echo base_url()?>')">
            <?php if($listing->saved_element_id):?>
            <img src="<?php echo site_url('images/core/icons/basic2/star1_16.png')?>" />
            <?php else:?>
            <img src="<?php echo site_url('images/core/icons/basic2/star1_16_gray.png')?>" />
            <?php endif; ?>
        </div>

Javascript Function

function toggle_save_star(element_id, site_url) {
    var url = site_url+"AJAX/ajax_default/modify_saved";
    var button = $(this);
    $.post(url,{action: 'toggle', element_id: element_id, type: 'listing' }, function(data) {
        if(data == 'saved') {
            $(button).html('<img src="'+site_url+'images/core/icons/basic2/star1_16.png" />');
        }
        else{
            $(button).html('<img src="'+site_url+'images/core/icons/basic2/star1_16_gray.png" />');
        }
    });
}
-121--854113- Только после того, как он будет обслужен У нас есть этот код, который служит для загрузки: открытый класс downloadRelease: IHtateHandler {public void ProcessRequest (startcontext) {-- Ответ. Ясный (); ...

У нас есть этот код, который служит для загрузки:

public class downloadRelease : IHttpHandler {

    public void ProcessRequest (HttpContext context) {

        -- snip --

        context.Response.Clear();
        context.Response.ContentType = "application/octet-stream";
        context.Response.AddHeader("Content-Disposition", "attachment; filename=" + OriginalFileName);
        context.Response.WriteFile(Settings.ReleaseFileLocation + ActualFileName);

        // Log download
        Constructor.VersionReleaseDownload.NewReleaseDownload(ActualFileName);

Он работает нормально, за исключением того, что код загрузки журнала запускается, как только загрузка начинается, казалось бы, а не когда загрузка полностью завершена, как мы ожидаем.

Может ли кто-то объяснить, почему это так, и как изменить его так, чтобы он регистрировался только по завершении? Мы не хотим считать частичные загрузки.

10
задан Tom Gullen 23 September 2011 в 19:57
поделиться