jQuery จำลอง ctrl + คลิกเมื่อเปิดแท็บใหม่เมื่อคลิกเหตุการณ์

ฉันได้เขียนโค้ดต่อไปนี้ใน jQuery:

  $(document).on("click", "#datatable-responsive tbody tr td button.btn", function () {
     window.open('somelinkhere', '_blank');
  });

ปัญหาคือเมื่อฉันทำแบบนี้ และมันทำงานได้อย่างไร้ที่ติ แท็บใหม่ที่เปิดขึ้นมาจะได้รับความสนใจ และฉันไม่อยากให้มันเกิดขึ้น ฉันต้องการจำลองการกดแป้นพิมพ์ทั้งสองนี้แทน: ctrl + คลิกเมาส์ซ้าย

เพื่อให้หน้าต่างหลักของฉันอยู่ในโฟกัสและเปิดแท็บใหม่...

ฉันจะทำสิ่งนี้ใน jQuery ได้อย่างไร


person User987    schedule 16.05.2017    source แหล่งที่มา
comment
ดู: stackoverflow.com/questions /15133605/   -  person Tokiin    schedule 16.05.2017
comment
@Tokiin เพิ่งอ่านคำตอบสองสามข้อที่นั่น ฉันจะสะท้อนสิ่งนี้กับกรณีของฉันได้อย่างไร   -  person User987    schedule 16.05.2017


คำตอบ (2)


วิธีแก้ปัญหาหนึ่งอาจเป็น:

$(document).ready(function() {
 $("#datatable-responsive tbody tr td button.btn").click(function() {
    var thisWind = window.location;
    window.location = ('http://www.google.lt');
    window.open(thisWind, '_blank');
 });    
})

ค่อนข้างง่าย - ตำแหน่งหน้าต่างแรกเปลี่ยนเป็น URL ป๊อปอัปจากนั้นหน้าต่างหลักจะเปิดขึ้นอีกครั้ง

person Julius    schedule 17.05.2017
comment
ดูดีใช้งานได้ ... แต่มันทำให้โหลด 2 หน้า .... ใช่ไหม ?? อาจมีอย่างอื่น :( - person Rush.2707; 17.05.2017
comment
@ Rush.2707 ใช่ มีการโหลดสองครั้ง แต่ที่นี่ เราต้องการการแก้ไข และมีเพียงสิ่งนี้เท่านั้นที่เข้ามาในหัวของฉัน .. - person Julius; 17.05.2017

คุณสามารถสร้างองค์ประกอบจุดยึดและทริกเกอร์ ctrl + click บนองค์ประกอบนั้น:

$("<a/>", {href: "https://www.google.com/"}).get(0)
    .dispatchEvent(new MouseEvent("click", {ctrlKey: true}));
person AkaZecik    schedule 15.08.2018