jQuery移动的-以编程方式控制clearBtn

x8diyxa7  于 2023-03-17  发布在  jQuery
关注(0)|答案(2)|浏览(106)

我正在使用jQuery移动的1.3.2。我有一个data-clear-btn=true文本框。
每当用户在文本框中键入字符时,一旦到达末尾,删除图标将隐藏文本框中的字符:

我想隐藏删除图标,一旦用户标签了。我已经尝试使用

$("#elementId").textinput("option", "clearBtn", false);

但它没有隐藏清除按钮为什么不呢?

lokaqttq

lokaqttq1#

通过添加css,我没有隐藏控制按钮,而是将删除图标移到了文本框之外,这样用户就可以看到文本框中的内容。

$(".ui-input-clear").each(function(element){
            $(this).css("right","-32px");
});
bvuwiixz

bvuwiixz2#

根据备注更新

我相信现在的情况是变量/属性(data)已更新,但DOM未更新。使用jQuery .on()方法将blurfocus事件绑定到元素的textinput,应导致DOM在处理程序激发后立即刷新/重新读取。因此,它应反映事件处理程序内发生的更改,即对X1 M5 N1 X属性的更新。

备选案文1:

$("#elementId").textinput.on("blur", function(){
      $("#elementId").data("clear-btn", false);
    }).on("focus", function(){
      $("#elementId").data("clear-btn", true);
    });

或者下面的方法也可以:

备选案文2:

$("#elementId").textinput.on("blur", function(){
      $("#elementId").attr("data-clear-btn", false);
    }).on("focus", function(){
      $("#elementId").attr("data-clear-btn", true);
    });

但是如果你想最严格地遵守jQuery和HTML5/canvas,你可能应该使用option #1
UPDATE## Heading ##我尝试了各种各样的变化-一些东西正在重置inputbox的CSS,以便ui-input-clear-hidden总是再次应用。jQuery移动的javascript使用这个来确定它是否可见...而不是data-clear-btn的值。
我已经设法开销这两个.css(“显示”、“无”)和.css(“visibility”,“hidden”),实际的ui-input-clear-hidden类应用于其中,后者更可取,因为它不会删除元素,只会使其不可见。但是,在这两种情况下,它都会影响单击功能。可能需要更多的操作......但是,已经过了两个小时了...我不能再花时间在上面了。祝你好运。

$("#elementId").on("blur", function(){

$("#elementId").data("clear-btn", false);
console.log(
    $("#elementId")
    .data("clear-btn")
);
$("#console").append(
    $("#elementId")
    .data("clear-btn").toString() + "</br>"
);

$("#elementId")
    .parent()
    .children("a")
    .addClass(
        "ui-input-clear-hidden"
    );
$("#console").append(
    $("#elementId")
    .parent()
    .children("a")
    .attr("class") + "</br>"
);  
$("#elementId")
    .parent()
    .children("a")
    .css("visibility","hidden")
;


}).on("focus", function(){

$("#elementId").data("clear-btn", true);
$("#elementId")
    .parent()
    .children("a")
    .removeClass(
        "ui-input-clear-hidden"
    );
console.log(
    $("#elementId")
    .data("clear-btn")
);
$("#console").append(
    $("#elementId")
    .parent()
    .children("a")
    .attr("class") + "</br>"
);      
$("#console").append(
    $("#elementId")
    .data("clear-btn").toString() + "</br>"
);
$("#elementId")
    .parent()
    .children("a")
    .css("visibility","visible")
;

});

相关问题